Bcrypt 生成器与验证器 thumbnail

Bcrypt 生成器与验证器

在浏览器中安全地生成并验证 Bcrypt 哈希值。

Checking status...

关于 Bcrypt 生成器与验证器

安全高效地生成并验证 Bcrypt 哈希值。这是开发者进行密码存储测试或调研 Bcrypt 实现时不可或缺的工具,提供直观的明文与哈希对比验证功能。

如何使用

  1. 在生成区域输入您的明文字符串。
  2. 选择盐轮数 (Salt Rounds);数值 10 是安全性与性能的平衡点。
  3. 点击“生成哈希值”获取加密字符串。
  4. 使用右侧验证面板输入明文与哈希值来实时校验一致性。

常见使用场景

  • 在后端开发测试中,手动为用户生成的初始密码制作 Bcrypt 哈希。
  • 验证生产环境服务器生成的 Bcrypt 哈希的一致性。
  • 用于安全教育,直观了解 Bcrypt 及其防范彩虹表攻击的能力。

技术细节

采用标准的 Bcrypt 算法实现,支持可调的加密强度。所有加盐与计算过程均在客户端浏览器中实时运行。

常见问题

什么是盐轮数?
盐轮数决定了哈希计算的迭代次数。更高的轮数意味着计算更慢,能极大增强抵抗暴力破解攻击的能力。
Bcrypt 比 MD5 更安全吗?
是的。Bcrypt 内置加盐机制且由于计算开销较大,能有效抵挡并行硬件(如 GPU)的加速破解攻击。
bcrypt 的代价因子(rounds)应该设置为多少?
代价因子控制哈希的计算成本,建议值每年随硬件提升而增加。目前(2024-2025 年)推荐使用 12,这在现代服务器上哈希需要约 250-500 毫秒,对用户影响可接受,但攻击者的暴力破解代价高昂。对于敏感系统可用 13-14。
我可以验证密码而不只是哈希密码吗?
可以。输入纯文本密码和 bcrypt 哈希值,工具会验证它们是否匹配——即使哈希使用的盐值不同,结果也是正确的(bcrypt 哈希内置了盐值)。
为什么每次哈希同一个密码会得到不同的结果?
bcrypt 使用随机盐值,即使对于相同的密码,每次生成的哈希也不同。盐值存储在哈希字符串本身中($2b$12$<22字符盐值><31字符哈希>),这就是为什么验证时只需要原始密码和存储的哈希值,不需要单独存储盐值。
我可以使用这个bcrypt工具为生产Web应用程序哈希密码吗?
你可以在此生成bcrypt哈希用于测试、学习或一次性管理任务,但对于生产应用,你应该使用可信库在服务器端进行密码哈希,例如Node.js的bcrypt.js、Python的passlib或Java的spring-security-crypto。在生产环境中切勿将明文密码发送到客户端工具。本工具最适合用于理解bcrypt的工作原理、验证服务器端哈希是否产生正确输出,或手动生成单个管理员密码哈希。

本地处理

本地文件、文本和图表工具通过 JavaScript、浏览器 API 以及必要时使用的 WebAssembly 在您的设备上处理内容。使用事件不包含文件名、文件内容、输入文本、图表数值、原始错误、电子邮箱或许可证引用。DNS、WHOIS、IP 和测速等网络工具会为其功能访问外部服务。加载网站、字体、库和模型也会产生网络请求。WebAssembly 本身并不能阻止网络访问。