Bcrypt 生成器与校验工具

在浏览器本地生成 Bcrypt hash,并校验明文密码是否匹配现有哈希,支持可调 Cost/Rounds,适合账号系统开发、迁移和测试数据准备。

点击进入沉浸模式

生成 Bcrypt Hash

输入密码,选择 Cost/Rounds,然后在本地生成带 salt 的 Bcrypt 结果。

准备就绪

校验密码与 Hash

粘贴明文密码和 Bcrypt hash,确认它们是否匹配。

等待校验

所有密码和 hash 都只在当前浏览器中处理。Bcrypt 是单向哈希,不能解密。

如何使用

  1. 在密码输入框粘贴要保护的密码,例如临时管理员密码或种子用户密码。
  2. 调整 Cost/Rounds。默认值适合普通浏览器测试;如果只想快速验证,可先使用较低 Cost。
  3. 点击“生成 Bcrypt Hash”,复制结果到后端配置、测试夹具或数据库种子脚本。
  4. 在校验区粘贴密码和 Bcrypt hash,点击“校验密码与 Hash”确认是否匹配。

核心功能

  • 在同一界面完成 Bcrypt hash 生成与密码校验
  • 密码和 hash 只在浏览器本地处理,不上传到服务器
  • 支持 4 到 12 的 Cost/Rounds,便于测试不同工作因子的性能
  • 生成结果可一键复制,并自动带入校验区继续验证
  • 明确区分密码哈希与加密:Bcrypt 只能校验,不能解密

相关工具

计算逻辑

Bcrypt 会为每次生成结果加入随机 salt,并把版本、Cost/Rounds 和 salt 写进最终 hash。因此同一个密码多次生成也会得到不同结果,但仍能用同一个明文密码通过校验。

和普通 MD5/SHA 文本哈希不同,Bcrypt 的工作因子会提高每次猜测密码的计算成本。校验时工具不会还原密码,而是读取 hash 中的参数,用同样参数重新计算并比较结果。

本工具使用纯 JavaScript 的 Bcrypt 实现,并限制 Cost 上限为 12。更高 Cost 更慢,适合在后端运行环境评估,不适合直接压在浏览器主线程中运行。

常见问题

Bcrypt hash 可以解密吗?

不能。Bcrypt 是单向密码哈希算法,只能生成和校验,不能还原明文密码。

Cost/Rounds 是什么?

Cost/Rounds 是 Bcrypt 的工作因子。数值越高,生成和校验越慢,攻击者批量猜测密码的成本也越高。本工具把浏览器端范围限制在 4 到 12。

为什么同一个密码每次结果不同?

因为 Bcrypt 每次都会生成新的随机 salt。不同结果仍然可以通过校验判断是否对应同一个密码。

密码会发送到服务器吗?

不会。生成与校验都在当前浏览器中完成。