🔏Bcrypt 加密

在线 Bcrypt 密码哈希加密工具,可自定义 salt rounds(成本因子),为密码生成带盐的安全哈希,是用户密码存储的推荐方案。

支持批量处理:每行一个密码,将分别生成哈希。所有计算均在浏览器本地完成,不上传任何数据。
10
数值越大,计算越慢、安全性越高。推荐 10-12,每次增加 1 计算时间约翻倍。范围 4-15。
输出格式:$2a$<cost>$<salt><hash>,其中包含算法标识、成本因子、盐值与哈希结果。
📖 使用说明

什么是 Bcrypt?

Bcrypt 是一种专为密码存储设计的密码哈希函数,由 Niels Provos 和 David Mazières 于 1999 年设计。它基于 Blowfish 加密算法,具有以下重要特性:

  • 自带盐值:每次哈希自动生成随机盐,相同密码产生不同哈希。
  • 可调成本:通过 salt rounds 参数控制计算复杂度,抵御硬件算力提升。
  • 慢哈希:计算速度有意放慢,使暴力破解成本极高。
  • 抗 GPU/ASIC:基于内存访问模式,不易被专用硬件加速。

Salt Rounds(成本因子)说明

salt rounds 决定哈希计算的迭代次数,实际迭代次数为 2 的 cost 次方。数值越大越安全,但计算越慢:

  • 4:约 16 次迭代,速度极快,仅用于测试。
  • 10:约 1024 次迭代,约 0.1 秒,推荐默认值。
  • 12:约 4096 次迭代,约 0.4 秒,高安全场景推荐。
  • 14-15:约 1.6-3.2 秒,极高安全场景,用户体验会下降。

哈希格式

Bcrypt 哈希字符串格式为 $2a$10$N9qo8uLOickgx2ZMRZoMy.MrqKsTmQv6sVjXmqk3BkYnW4fZkH/Ta

  • $2a$:算法版本标识(还有 $2b$$2y$)。
  • 10:成本因子(salt rounds)。
  • 接下来 22 个字符:Base64 编码的盐值。
  • 最后 31 个字符:Base64 编码的哈希结果。

使用场景

  • 用户密码存储:Web 应用、数据库中保存用户密码。
  • API 密钥保护:对敏感凭证进行哈希。
  • 学习与测试:验证 Bcrypt 实现的正确性。

安全性提示

  • Bcrypt 是单向哈希,无法从哈希值反推出原密码。
  • 不要将 salt rounds 设置过低(小于 10),否则安全性不足。
  • 密码长度上限为 72 字节,超出部分会被截断。
  • 本工具完全在浏览器本地运行,输入内容不会上传到服务器。