WordPress 密码生成器
生成可直接写入数据库的 WordPress 密码哈希,并校验已有哈希。计算在服务器端完成,不记录任何密码。
按 Enter 直接生成
强度
加密字符串
数据库更新语句
在 phpMyAdmin / mysql 客户端执行即可重置该用户密码。
知识点
单向散列加密
单向散列加密是一种不可逆的加密方法,其核心是使用散列算法(Hash Function)将输入数据转换为固定长度的散列值(Hash Value)。这种转换是不可逆的,即无法从散列值还原出原始数据。
- 散列函数具有不可逆性:即便知道输出的散列值,也无法反推出原始输入。
- 无论输入的数据长度如何,输出的散列值长度都是固定的。
- 优质的散列函数应具备抗碰撞性(不同输入尽量不生成相同的散列值)。
常见的单向散列算法
- MD5:生成 128 位散列值,已被证明存在严重的碰撞漏洞,不再安全。
- SHA-1:生成 160 位散列值,2017 年被谷歌“Shattered”攻击成功,也已被淘汰。
- SHA-256、SHA-512:SHA-2 家族算法,分别生成 256 位和 512 位散列值,当前仍被广泛认为安全。
-
bcrypt、scrypt、Argon2:专为密码存储设计的密码哈希函数,基于单向散列与密钥派生函数(KDF)原理:
- 自动加入盐(Salt)防止彩虹表攻击
- 支持多轮加密和可调的计算复杂度
- 具有抗暴力破解和抗 GPU 并行攻击能力
WordPress 密码加密算法
WordPress 6.7 及以前版本采用 PHP 的密码哈希框架(phpass),使用多轮 MD5 加盐处理用户密码。从 WordPress 6.8 开始,默认改用 bcrypt:先对密码做 HMAC-SHA384 预处理再 base64,最后交给 password_hash(),并在结果前加上 $wp 前缀作为标记。
| 项目 | WordPress 6.7 及以前 | WordPress 6.8+(bcrypt) |
|---|---|---|
| 算法 | phpass(基于多轮 MD5) | bcrypt(通过 password_hash() 实现) |
| 安全性 | 中等,已无法抵御现代暴力破解 | 高,具备抗 GPU 并行破解能力 |
| 加密方式 | 多轮 MD5 + 自定义盐值 | HMAC-SHA384 预处理 + password_hash() 内置盐值与成本控制 |
| 是否内置盐 | 是(由 phpass 生成) | 是(由 password_hash() 自动生成) |
| 抗暴力破解能力 | 较弱 | 强 |
| 是否支持自动升级 | 否 | 是(懒升级:用户登录时重新加密) |
| 存储格式 | $P$B…(34 字符) |
$wp$2y$10$…(63 字符) |
使用提示
- 为什么同一个密码每次生成的哈希都不同?盐值是随机的,这是设计如此。任意一次的结果都能通过校验。
- 选哪个?站点是 WordPress 6.8 及以上就选 bcrypt;6.7 及以下必须用 PHPass,否则登录会失败。不确定就用「校验哈希」把库里现有的值粘进来,工具会告诉你它是哪种。
- bcrypt 只取前 72 字节,所以 WordPress 先用 HMAC-SHA384 把任意长度压成 64 字符再交给 bcrypt——长密码不会被截断。
- 直接改库后请让用户重新登录(旧的登录 Cookie 由密码哈希片段签名,改密码即失效)。
- 本工具不写日志、不存数据库;但涉及生产密码时,最稳妥的做法仍是自建部署。