ZeroTool Workbench

Bcrypt 生成器

在浏览器中生成和验证 bcrypt 密码哈希。可调计算轮次(4–14),Web Worker 驱动保持界面流畅。密码不离开您的设备。

100% 浏览器端运行 数据不离开你的设备 免费 · 无需注册
所有哈希计算在浏览器中完成,密码不离开本页。
预估耗时: ~250 ms
4 (fast) 12 (default) 14 (high security)

使用方法

生成模式

  1. 明文密码输入框中输入密码。
  2. 调整计算轮次滑块(默认:12),预估耗时实时更新。
  3. 点击生成 Hash。Web Worker 在后台计算时界面保持响应。
  4. 点击复制将哈希值复制到剪贴板。

验证模式

  1. 切换到验证标签。
  2. 输入明文密码和已存储的 bcrypt 哈希值。
  3. 点击验证,结果显示匹配不匹配

计算轮次参考

轮次预估耗时适用场景
10~60 ms高流量 API、遗留系统
12~250 msWeb 应用推荐默认值
13~500 ms较高安全性、中等流量
14~1 s高安全性场景

安全提示

  • 切勿用 MD5、SHA-1 或无盐 SHA-256 存储密码——它们速度过快,容易被彩虹表攻击。
  • bcrypt 哈希输出中包含计算轮次,已存储的旧哈希在提升轮次后仍可正确验证。
  • 本工具使用 bcryptjs 库——与所有 bcrypt 实现兼容的纯 JavaScript 移植版。

FAQ

bcrypt 是什么,适合哪些场景?

bcrypt 是一种密码哈希函数,其设计目标就是慢速和高计算成本,使暴力破解不切实际。适合在数据库中存储用户密码——切勿存储明文或 MD5/SHA 这类快速哈希值。

计算轮次(Cost Factor)的作用是什么?

计算轮次控制密钥派生函数的迭代次数,每增加 1,计算时间翻倍。轮次 12(~250ms)是当前大多数 Web 应用的推荐默认值,对安全性要求更高且可接受更长延迟时可选 14。

为什么高轮次下生成哈希需要几秒钟?

这是刻意设计的——bcrypt 就是为了慢而生。对您而言昂贵的计算,对攻击者而言同样昂贵。Web Worker 会在后台运行计算,保持浏览器界面响应流畅。

密码会被发送到服务器吗?

不会。所有哈希计算和验证均在浏览器中通过 bcryptjs 库完成,不进行任何网络传输。

为什么同一个密码每次生成的哈希都不同?

bcrypt 在哈希中内嵌了随机盐值。每次点击生成都会产生唯一的盐,所以两个哈希值看起来不同,但都能正确验证原始密码。

合法的 bcrypt 哈希格式是什么?

bcrypt 哈希以 $2b$(或旧版的 $2a$/$2x$/$2y$)开头,后跟计算轮次和 53 个字符的盐+哈希组合。示例:$2b$12$...