什么是 bcrypt?
bcrypt 是一种密码哈希算法,设计用于速度慢且计算成本高,使其能够抵抗暴力破解攻击。与 MD5 或 SHA-256 等快速哈希函数不同,bcrypt 故意需要更多时间来计算,这大大增加了攻击者破解密码的成本。
为什么使用 bcrypt?
自适应成本因子
随着硬件变快,您可以增加轮数,使您的哈希随时间推移保持安全
内置盐值
每个哈希都包含一个唯一的随机盐值,防止彩虹表攻击
行业标准
被 Laravel、Ruby on Rails、Django 和 Spring Security 等主要框架使用
久经考验
基于 Blowfish 密码,自 1999 年以来一直在使用,没有已知的实际漏洞
理解 bcrypt 哈希格式
$2b$12$WApznUPhDubN0oeveSFPpOLo0dVMFJ.3CC9TmGkMxLFvnEGbgm4jq$2b$
12
22 个字符
31 个字符
如何使用
生成 bcrypt 哈希
选择生成选项卡
确保在工具界面中选择了生成选项卡
输入密码
在输入字段中输入您的密码
选择成本因子
选择轮数 — 默认的12推荐用于大多数用例
生成
点击生成哈希按钮创建您的 bcrypt 哈希
复制结果
使用复制按钮将生成的哈希复制到您的剪贴板
验证密码
切换到验证选项卡
在工具界面中点击验证选项卡
输入密码
输入您要检查的密码
粘贴哈希
粘贴您要验证的 bcrypt 哈希
验证
点击验证密码按钮检查它们是否匹配
检查结果
结果将显示匹配(绿色)或不匹配(红色)
选择正确的成本因子
| 轮数 | 安全级别 | 使用场景 |
|---|---|---|
| 4–9 | 低 | 仅用于开发和测试 |
| 10–11 | 中 | 低安全性应用 |
| 12–13 | 推荐 | 生产应用 |
| 14–17 | 高 | 高安全性系统 |
| 18+ | 非常高 | 最高安全性(生成速度慢) |
功能
两种模式:生成和验证
只需单击一下即可在生成新 bcrypt 哈希和验证现有哈希之间切换。
- 生成模式从密码创建新哈希
- 验证模式检查密码是否与现有哈希匹配
- 模式之间无缝切换
可调整的成本因子
从轮数 4 到 31 中选择,使用彩色编码的安全徽章控制哈希强度。
- 视觉安全级别指示器
- 平衡安全性与性能
- 更高的轮数 = 更强的安全性
详细的哈希信息
查看算法版本、成本因子和精确生成时间,了解性能影响。
- 算法版本显示
- 成本因子分解
- 实时性能指标
客户端安全
所有密码哈希和验证完全在您的浏览器中使用 bcryptjs 库进行。
- 无服务器传输
- 完整的隐私保护
- 离线工作
常见问题
为什么相同的密码会产生不同的哈希?
bcrypt 自动为每个哈希生成一个唯一的随机盐值。这意味着即使是相同的密码也会产生完全不同的哈希,这防止了攻击者使用预计算表(彩虹表)来破解密码。
我应该使用什么成本因子?
对于大多数生产应用,推荐使用12 轮。这在安全性和性能之间提供了很好的平衡。
- 标准生产应用使用 12 轮
- 高度敏感数据使用 14+ 轮
- 仅开发和测试使用 4-8 轮
$2a$、$2b$ 和 $2y$ 之间有什么区别?
$2a$
$2b$
$2y$
所有三个版本都兼容 — 此工具生成$2b$哈希,可以验证所有三种格式。
密码长度有最大限制吗?
bcrypt 处理最多72 字节的输入。超过此限制的字符会被静默截断。
对于大多数密码,这不是问题,因为典型密码远低于 72 个字符。
使用此工具时我的密码安全吗?
是的,绝对安全。所有哈希和验证完全在您的浏览器中使用 JavaScript 进行。您的密码永远不会传输到任何服务器。
- 100% 客户端处理
- 无服务器通信
- 离线工作
- 无数据日志或存储
还没有评论,快来发表第一条!