输入
密码
Cost Factor(轮数)
10
数值越高越安全,但越慢。生产环境使用 10。
哈希计算中…
结果
Bcrypt 哈希
点击「生成哈希」后,结果将显示在此处。
点击复制
关于 Bcrypt
Bcrypt 在设计上就是慢速哈希密码。每增加一个 cost factor,计算时间翻倍,无论硬件速度如何,暴力破解的代价都极高。
| Cost | 大约耗时 | 适用场景 |
|---|---|---|
4–6 |
<1ms | 开发 / 测试 |
10–12 |
~100ms | 生产环境(推荐) |
13+ |
1s+ | 高安全性系统 |
Bcrypt 在您的浏览器中运行。密码不会发送到任何服务器。
Bcrypt 哈希生成与验证工具
什么是 bcrypt?
Bcrypt 是一种自适应密码哈希函数,专为保持缓慢而设计。与微秒级执行的 MD5 或 SHA-256 不同,bcrypt 的 cost factor 允许您随硬件进步调整计算时间。输出中嵌入了算法版本、cost factor 和唯一随机盐值——同一密码每次哈希结果不同,但始终可以正确验证,有效防御暴力破解和彩虹表攻击。
使用方法
- 在工具栏中选择生成或验证模式。
- 生成:输入密码,调整 cost factor(默认 10),点击「生成哈希」。
- 验证:输入原始密码和存储的 bcrypt 哈希,点击「验证」确认是否匹配。
- 复制生成的哈希并存储到数据库中 — 切勿存储明文密码。
常见问题
用真实密码使用这个工具安全吗?
安全。Bcrypt 通过 JavaScript 在浏览器中运行,密码和哈希不会离开您的设备。可以打开开发者工具查看 Network 标签页确认。
生产环境应该用多大的 cost factor?
建议 10–12。cost 为 10 时,在现代硬件上哈希约需 100 毫秒:对用户足够快,对攻击者足够慢。随着硬件升级再逐步提高。
为什么同一个密码每次生成的哈希都不同?
Bcrypt 每次都会生成随机盐值并存入输出字符串,所以同一密码的两个哈希看起来不同。验证时,bcrypt 会从已存储的哈希中取出盐值再重新计算。
可以验证其他 bcrypt 工具生成的哈希吗?
可以。Bcrypt 是标准化格式,以 $2a$、$2b$ 或 $2y$ 开头的哈希都兼容。可以直接粘贴来自 Node.js、Python、PHP 或其他 bcrypt 库的哈希进行验证,无需转换。
为什么 cost factor 较高时 bcrypt 要花好几秒?
慢正是它的安全机制。在您的机器上需要 1 秒的 cost 14 哈希,会迫使攻击者每猜一次也花 1 秒,一万亿次猜测的攻击需要数千年。