选择「生成」或「校验」
用「生成」标签从密码创建新的哈希,或用「校验」标签检查某个密码是否与已有 bcrypt 哈希匹配。
本地生成 bcrypt 密码哈希、校验密码,支持成本因子设置与哈希信息解析。
这款 bcrypt 工具能把任意密码转换成安全的 bcrypt 哈希,也能校验某个密码是否与已有哈希匹配——全部在你的浏览器中完成。它专为需要给数据库填充种子数据、测试登录流程或核对已存储 bcrypt 哈希的开发者打造,无需为此专门写代码。
bcrypt 是一种刻意设计得很慢的密码哈希算法,并内置盐值(salt),这让它的哈希比 MD5、SHA-256 等快速函数更难被暴力破解。从 4 到 31 选一个成本因子,在生成与校验之间切换,剩下的交给 bcryptjs 库处理。
用「生成」标签从密码创建新的哈希,或用「校验」标签检查某个密码是否与已有 bcrypt 哈希匹配。
输入要加密的密码。在校验模式下,还需粘贴要核对的 bcrypt 哈希。点击示例数据可快速填入演示值。
为新哈希设置成本因子(轮数)。默认值 12 适合大多数生产环境,旁边的彩色徽章会显示你所选数值对应的安全等级。
点击「生成哈希」得到哈希,一键即可复制。在校验模式下,点击「校验密码」查看绿色的匹配或红色的不匹配结果。
本工具生成的每个哈希都采用现代的 $2b$ 版本,把算法、成本、盐值和摘要打包进同一个字符串:
$2b$12$WApznUPhDubN0oeveSFPpOLo0dVMFJ.3CC9TmGkMxLFvnEGbgm4jq算法标识符。2b 是当前的标准;本工具生成 2b 哈希,并可校验 2a、2b 和 2y。
轮数,其中迭代次数 = 2^成本。成本为 12 意味着每个哈希迭代 2^12 = 4,096 次。
为每个哈希生成的唯一随机盐值,经 Base64 编码,用于挫败预先计算好的彩虹表。
你的密码与盐值在所选成本下结合后得到的 Base64 编码摘要。
从密码创建全新的 bcrypt 哈希,或切换标签检查某个密码是否与已有哈希匹配。
在 4 到 31 轮之间任选,在哈希强度与生成速度之间取得平衡。
彩色徽章一眼把每个成本标注为低、中、推荐、高或极高。
每个结果都会显示算法版本与成本因子,让你一眼读懂哈希。
每次生成与校验都会显示精确耗时,让你掂量更高轮数的代价。
校验模式接受 $2a$、$2b$ 和 $2y$ 哈希,并会标出无效格式。
一键把生成的哈希复制到剪贴板,随时粘贴进你的代码或数据库。
载入演示值即可立即测试,随后随时清空字段重新开始。
一切都使用 bcryptjs 库在你的浏览器中运行——任何密码都不会离开你的设备。
成本越高,每次密码猜测所需的工作量越大,但也会提高正常登录的开销。以下分档用于理解计算成本,不代表对系统安全的保证;请结合硬件、并发与响应时间测试。
| 轮数 | 等级 | 适用场景 |
|---|---|---|
| 4–9 | 低 | 仅限开发与测试 |
| 10–11 | 中 | 低安全性应用 |
| 12–13 | 推荐 | 生产环境应用 |
| 14–17 | 高 | 高安全性系统 |
| 18–31 | 极高 | 最高安全级别(生成缓慢) |
在「生成」标签下,输入你的密码,选一个成本因子(12 是不错的默认值),然后点击「生成哈希」。bcrypt 哈希会即时出现,一键即可复制。
不能。bcrypt 是单向哈希算法,而非加密,因此哈希无法被还原成原始密码。确认密码的唯一办法是再次对它做哈希并进行比较——这正是「校验」标签所做的事。
切换到「校验」标签,输入密码,粘贴 bcrypt 哈希,然后点击「校验密码」。如果该密码能生成那个哈希,结果显示绿色的匹配;否则显示红色的不匹配。
bcrypt 会在每个哈希中嵌入唯一的随机盐值,所以即使密码完全相同,也会生成完全不同的字符串。这是有意为之的设计——能挫败预先计算好的彩虹表攻击。校验依然有效,因为盐值就存储在哈希本身之中。
成本因子(也叫轮数)控制 bcrypt 的工作量:迭代次数等于 2 的成本次方。数值越高,哈希会呈指数级变慢,因而更难被暴力破解。对大多数生产环境应用来说,12 轮在安全与性能之间取得了很好的平衡。
$2a$ 是最初的规范,$2b$ 是修复了长密码处理问题的更新版本,$2y$ 则是 PHP 的标识符。三者互相兼容——本工具生成 $2b$ 哈希,并能校验全部三种格式。
bcrypt 最多处理 72 字节的输入,超出部分会被静默截断。这通常不是问题,但如果你需要对很长的口令短语做哈希,可先用 SHA-256 对其做预哈希,再应用 bcrypt。
安全。所有加密与校验都完全使用 bcryptjs 库在你的浏览器中进行——你的密码绝不会发送到任何服务器。你可以在断网状态下使用本工具来验证这一点。