Bcrypt 加密
在线 Bcrypt 密码哈希加密工具,可自定义 salt rounds(成本因子),为密码生成带盐的安全哈希,是用户密码存储的推荐方案。
支持批量处理:每行一个密码,将分别生成哈希。所有计算均在浏览器本地完成,不上传任何数据。
输出格式:
$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 字节,超出部分会被截断。
- 本工具完全在浏览器本地运行,输入内容不会上传到服务器。