Bcrypt 生成器与验证器
以你选择的成本用 bcrypt 哈希一个密码,或把一个密码与现有的 bcrypt 哈希进行验证——全部在你的浏览器中完成。
Bcrypt 生成器完全在你的浏览器中运行。你哈希的密码和你验证的哈希都在你的设备上处理,绝不会上传到 ArrayKit。
打开哈希生成器
关于 Bcrypt 生成器与验证器
Bcrypt 生成器把明文密码转成一个加盐的 bcrypt 哈希,并把密码与你已有的哈希进行核对。在「哈希」模式下,输入一个密码,选择一个从 4 到 15 的成本因子,就能得到一个内嵌唯一随机盐的标准 $2b$ 哈希——可直接存进用户表或 .htpasswd 文件。在「验证」模式下,粘贴一个密码和一个现有的 bcrypt 哈希,即可立即看到匹配或不匹配,这在你调试失败的登录或确认一个种子夹具时很有用。成本滑块显示攻击者每次猜测要付出多少次迭代,因此你可以有意地在速度与抗暴力破解之间做权衡。它为需要可靠 bcrypt 参照的后端和 DevOps 工程师打造。密码和哈希都在你的设备上处理,绝不会上传。
功能特性
- 把任意密码哈希成带内置随机盐的标准 $2b$ bcrypt 字符串
- 从 4 到 15 轮的成本滑块,让你在工作因子与速度之间调节
- 实时读出每次哈希所需的迭代次数(2^cost)
- 验证模式确认一个密码是否与现有的 bcrypt 哈希匹配
- 读取你粘贴用于验证的任意哈希中内嵌的变体和成本
- 拒绝不是有效 bcrypt 哈希的字符串,而非猜测
- 每次哈希都重新加盐,因此相同密码绝不会两次产生相同输出
- 完全在你的浏览器中运行,不向服务器发送任何密码
如何使用 Bcrypt 生成器与验证器
- 保持选中「哈希」标签页并输入你想哈希的密码
- 把成本滑块拖到你的目标轮数(10–12 是常见选择)
- 点击「生成哈希」并复制得到的 $2b$ 字符串
- 切换到「验证」,粘贴一个密码和一个 bcrypt 哈希,并阅读匹配结果
示例
输入
password: correcthorse
cost: 10
输出
$2b$10$mZ9uJ4c0m6t1qP7yW3sVne2f8oR5aB1cD4eF6gH7iJ8kL9mN0pQr
一个密码、成本 10,加上一个随机盐,变成一个 60 字符的 bcrypt 哈希。
常见错误与故障排除
- 相同的密码每次都产生不同的哈希。 — 这是预期的——bcrypt 每次哈希都会生成一个全新的随机盐。请用「验证」模式把密码与哈希比对,而不是再哈希一次然后比较字符串。
- 密码看起来没错,验证却提示不匹配。 — 检查密码字段中是否有末尾的空格或换行,并确认你粘贴了完整的 60 字符哈希,包括 $2blt;cost>$ 前缀。
- 高成本让页面响应变慢。 — 成本是指数级的——每提高一档工作量就翻倍。降低轮数以快速测试,然后再为你实际存储的值调高。
- 一个旧哈希以 $2a$ 或 $2y$ 而不是 $2b$ 开头。 — 那些是更早的 bcrypt 变体,验证方式相同。本工具会读取内嵌的变体和成本,因此把一个 $2a$ 或 $2y$ 哈希粘进「验证」仍然有效。
常见问题
- bcrypt 的成本因子控制什么?
- 成本(或轮数)设定 bcrypt 运行多少次密钥扩展迭代——2 的成本次方。成本为 10 意味着 1,024 次迭代;每多一档工作量翻倍,使哈希计算更慢,也远更难被暴力破解。
- 我该在 Bcrypt 生成器里选哪个成本?
- 在 2026 年,10 到 12 是网站登录的常见范围。更高更能抵抗破解,但每次登录都更慢。选择你的服务器在真实负载下能在几分之一秒内完成哈希的最高成本。
- 为什么相同密码的每个 bcrypt 哈希都不同?
- bcrypt 在每个哈希中内嵌一个唯一的随机盐,因此相同的密码产生不同的字符串。这挫败了彩虹表。要核对一个密码,你把它与存储的哈希验证,而不是重新哈希再比较文本。
- 这个工具能验证 $2a$ 或 $2y$ 的 bcrypt 哈希吗?
- 能。把任意标准 bcrypt 哈希——$2a$、$2b$ 或 $2y$——连同密码粘进「验证」模式,它就会报告匹配或不匹配。工具会直接从哈希中读取变体和成本。
- 我的密码或哈希会被发送到任何地方吗?
- 不会。Bcrypt 生成器完全在你的浏览器中运行。你输入的密码和你粘贴的哈希都在你的设备上处理,绝不会上传到 ArrayKit。
- bcrypt 仍然是存储密码的好选择吗?
- bcrypt 仍是一个稳健、广受支持的密码哈希,具有可调的工作因子和逐哈希的盐。对于新系统,一些团队也会考虑 Argon2,但只要你使用足够的成本,bcrypt 就是安全且被充分理解的。
相关工具
- 哈希生成器 — 通过 Web Crypto API 生成 SHA-256 / SHA-1 / SHA-384 / SHA-512。
- htpasswd 生成器 — 在浏览器中用用户名和密码以 bcrypt 或 SHA-1 生成一行 .htpasswd 记录。
- 密码生成器 — 生成强随机密码并附带强度指示器(加密安全)。
- HMAC 生成器 — 在浏览器中用消息和密钥以 SHA-256、SHA-1、SHA-384 或 SHA-512 生成 HMAC 签名。
- JWT 解码器 — 解码 JWT 的头部和载荷,并查看 exp/iat(不做验证)。
- TOTP / 2FA 生成器 — 从 base32 密钥生成基于时间的一次性密码(2FA 验证码)。
全部 ArrayKit 工具