Bcrypt 哈希

加密

用 bcrypt 做加盐哈希与校验,可自定义 4-12 轮 cost 因子调节强度,哈希自带随机盐,适合凭证存储与权限校验,抵御彩虹表攻击。cost 因子可在 4 到 12 轮之间调节,轮数越高计算越慢,需与后端登录耗时上限配合取值。输出是含随机盐的完整哈希串,可直接存库供后续比对。

哈希密码
就绪
bcrypt— — 点击哈希生成 — —
验证哈希
就绪

关于 Bcrypt 哈希

Bcrypt 是专为存储密码设计的哈希算法,它内置随机盐并通过可调的 cost 因子刻意放慢计算速度,从而大幅抬高暴力破解的成本。密码不会离开你的浏览器,适合在开发阶段造测试账号、核对登录逻辑或排查迁移后的密码校验问题。密码不会离开你的浏览器,注意 bcrypt 刻意放慢的特性也意味着不适合做大规模实时校验,适合存储前的离线处理。例如把密码 mypassword 以成本因子 10 哈希,会得到 $2b$10$ 开头的 60 字符 bcrypt 串,每次生成盐值不同。成本因子每提高一档,计算耗时大约翻倍,选型时需在安全性与响应延迟之间权衡;生成的哈希串自带盐值与成本标识,可直接存入数据库,但请记住哈希不可逆,找回密码只能走重置流程而无法反推原始口令。

使用方法

  1. 打开「Bcrypt 哈希」
  2. 输入待处理的内容并设置参数
  3. 根据需要调整输出选项
  4. 点击「生成」按钮,结果实时显示
  5. 复制或导出结果

使用场景

  • 生成测试账号哈希 — 为本地数据库手动插入一条用户记录时,生成符合应用格式的 Bcrypt 密码哈希。
  • 验证登录逻辑 — 用明文和库里存的哈希做匹配,确认后端 compare 逻辑是否正确。
  • 调优 cost 因子 — 在目标服务器上试不同 cost 值,找到验证耗时与安全的平衡点。
  • 排查迁移问题 — 系统迁移后核对老哈希是否仍能被新代码正确校验。
  • 审查存储格式 — 检查现有哈希字符串里的版本前缀(2a/2b)与盐是否规范。

常见问题

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

因为 Bcrypt 每次都用新的随机盐,盐被编码进哈希字符串本身。验证时算法会从哈希里读出盐重新计算,所以哈希不同不代表错误,依然能正确匹配。

cost 因子设多少合适?

cost 每加 1,计算量翻倍。常见取值 10-12;应在生产硬件上调到单次哈希约 100-300 毫秒,既挡住暴力破解又不拖垮登录体验。

Bcrypt 有长度限制吗?

有。Bcrypt 只处理输入的前 72 个字节,超出部分被忽略。若需支持超长密码,常见做法是先用 SHA-256 预哈希再交给 Bcrypt。

Bcrypt 和 SHA-256 能互换吗?

不能用于存密码。SHA-256 速度极快,反而利于攻击者爆破;Bcrypt 故意慢且带盐,是密码存储的正确选择,SHA-256 更适合做完整性校验。

2a、2b、2y 前缀有什么区别?

它们是 Bcrypt 的版本标识,因历史上的实现 bug 而分化。现代库默认用 2b,最为规范;只要库支持,旧前缀的哈希通常仍可正常验证。

广告