输入
密码
Cost Factor(轮数)
10
数值越高越安全,但越慢。生产环境使用 10。
哈希计算中…
结果
Bcrypt 哈希
点击「生成哈希」后,结果将显示在此处。
点击复制

Bcrypt 哈希生成与验证工具

什么是 bcrypt?

Bcrypt 是一种自适应密码哈希函数,专为保持缓慢而设计。与微秒级执行的 MD5 或 SHA-256 不同,bcrypt 的 cost factor 允许您随硬件进步调整计算时间。输出中嵌入了算法版本、cost factor 和唯一随机盐值——同一密码每次哈希结果不同,但始终可以正确验证,有效防御暴力破解和彩虹表攻击。

使用方法

  1. 在工具栏中选择生成或验证模式。
  2. 生成:输入密码,调整 cost factor(默认 10),点击「生成哈希」。
  3. 验证:输入原始密码和存储的 bcrypt 哈希,点击「验证」确认是否匹配。
  4. 复制生成的哈希并存储到数据库中 — 切勿存储明文密码。

常见问题

用真实密码使用这个工具安全吗?

安全。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 秒,一万亿次猜测的攻击需要数千年。