Bcrypt 哈希生成与验证工具
什么是 Bcrypt?
Bcrypt 是一种为安全而设计的密码哈希函数。与快速哈希函数(MD5、SHA-1)不同,bcrypt 通过可配置的成本因子故意放慢速度 — 使暴力破解攻击变得不切实际。每个哈希都包含随机 salt,因此相同的密码会产生不同的哈希值。成本因子(轮次)每增加一级,计算时间就翻倍:成本 10 约需 100ms,成本 12 约需 400ms,成本 14 约需 1.5s。切勿以明文形式存储密码 — 始终使用 bcrypt 或类似的自适应函数进行哈希处理。
如何使用 Bcrypt 生成工具
-
在「哈希」选项卡中输入密码并选择成本因子(大多数应用推荐 10–12)。
-
点击「生成 Hash」— bcrypt hash 显示在下方,可直接存储到数据库中。
-
要根据现有哈希验证密码,请切换到「验证」选项卡。
-
输入明文密码和已存储的 bcrypt hash,然后点击「验证」。
-
绿色对勾表示匹配成功;红色表示密码错误。
常见问题
应该使用什么成本因子? 对于大多数Web应用,成本因子10–12在安全性和性能之间提供了良好的平衡。成本10(~100ms)是最低推荐值。对于高价值账户,使用12(~400ms)。避免低于10,因为这会使暴力破解攻击更快。
为什么同一密码的两个哈希看起来不同? Bcrypt自动为每个哈希生成一个随机的22字符盐值并将其嵌入到输出中。这意味着同一密码经过两次哈希处理会产生不同的字符串,这是设计的——它可以防止彩虹表攻击。
bcrypt哈希字符串格式是什么意思? bcrypt哈希看起来像$2b$12$SaltSaltSaltSaltSaltSaHashHashHashHashHashHashHashHas。$2b$是算法版本,$12$是成本因子,后面是22个base64编码的盐值字符和31个哈希字符。
我可以用这个来验证数据库中的密码吗? 可以。将存储在数据库中的bcrypt哈希和纯文本密码粘贴到验证标签页中。该工具将确认它们是否匹配,这对于在开发过程中调试登录问题很有用。
Keywords: bcrypt 生成器, bcrypt 哈希在线, bcrypt 验证工具, 密码哈希, bcrypt 成本因子, 密码哈希 bcrypt, bcrypt 检查工具