arrow_back返回工具箱

WordPress 6.8+ · $wp$2y$ · SHA-384 + bcrypt

WordPress 密码哈希生成器

用于手动重置或迁移 WordPress 6.8+ 用户密码:在浏览器本地按 Core 新流程生成 $wp$2y$ 哈希,并对照说明新版 bcrypt 与旧版 $P$ phpass 的区别。

生成结果

输入密码后生成的 $wp$2y$ 哈希会显示在这里。

适用版本与示例

这个工具适用于 WordPress 6.8 及之后的用户密码字段 `wp_users.user_pass`。老版默认 phpass 哈希通常以 `$P$` 开头;新版默认用户密码哈希通常以 `$wp$2y$` 开头。下面是两种格式的示例。

老版示例(6.8 前常见 phpass)
$P$Bxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
新版示例(6.8 起默认用户密码)
$wp$2y$12$example-hash-body

WordPress 6.8 改了什么

WordPress 6.8 起,`wp_hash_password()` 默认不再生成 phpass portable hash,而是先用 `wp-sha384` 作为 key 对密码做 HMAC-SHA-384 预哈希并 base64 编码,再交给 bcrypt。`wp_check_password()` 仍兼容老的 `$P$` 和部分旧 MD5 哈希;用户登录或改密码后,老哈希会被机会性升级为新版哈希。

依据与不适用场景

依据来自 WordPress Core 6.8 dev note 和当前 `wp_hash_password()` 源码。它不适用于文章保护密码、只支持 6.7 及更早版本的站点,或通过 `wp_hash_password_algorithm` 过滤器改成 Argon2/其他算法的站点。bcrypt cost 会写入 hash 本身,WordPress 可以校验;若你的站点默认 cost 不同,登录后可能被标记为需要重哈希。

WordPress Core 6.8 dev noteopen_in_new

常见问题

从哪个 WordPress 版本开始适用?

从 WordPress 6.8 开始,用户密码默认改为 SHA-384 预哈希后的 bcrypt,并以 `$wp$2y$` 形式存储。

`$P$` 开头的哈希还能用吗?

能。WordPress 6.8+ 仍会校验老的 phpass `$P$` 哈希,用户下次登录或修改密码时会自动升级为新版哈希。

这个工具会上传我的密码吗?

不会。HMAC-SHA-384 和 bcrypt 都在当前浏览器里完成,不调用本站服务端接口。