🔒

Bcrypt 哈希

使用 bcrypt 算法对密码进行加盐哈希与校验,可自定义 4-12 轮 cost 因子调节计算强度。生成的哈希自带随机盐值,适合在用户注册登录、凭证存储与权限校验中替代明文密码,有效抵御彩虹表与暴力破解攻击。

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

关于 Bcrypt 哈希

Bcrypt 是专为存储密码设计的哈希算法,它内置随机盐并通过可调的 cost 因子刻意放慢计算速度,从而大幅抬高暴力破解的成本。本工具在浏览器本地运行 Bcrypt:既能为明文密码生成哈希(输出已包含算法标识、cost 和盐),也能验证某个明文是否匹配已有哈希。密码不会离开你的浏览器,适合在开发阶段造测试账号、核对登录逻辑或排查迁移后的密码校验问题。 建议在日常开发中收藏本工具,需要生成密钥或哈希值时即可快速打开使用。所有计算均在浏览器本地完成,敏感数据不会上传,可放心操作。

使用场景

  • 生成测试账号哈希 — 为本地数据库手动插入一条用户记录时,生成符合应用格式的 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,最为规范;只要库支持,旧前缀的哈希通常仍可正常验证。

有浏览器兼容性要求吗?

本工具兼容所有现代浏览器(Chrome、Firefox、Edge、Safari),无需安装任何插件或扩展。

可以离线使用吗?

首次加载后,部分功能在离线状态下仍可使用。页面资源加载后,核心逻辑完全在浏览器本地运行,不依赖网络。