Bcrypt 生成器

免费在线生成和验证 bcrypt 测试哈希,可调节 4–16 成本因子,解析版本、成本、盐值与校验字段,并测量本机耗时。运算仅在浏览器完成,输入不会上传;适合验证密码哈希流程和排查编码。生产参数仍应依据 OWASP 建议,在类生产硬件与真实并发下测试,并优先评估 Argon2id。不要粘贴真实密码。

Loading...
Bcrypt 是带内嵌盐值和指数成本因子的单向密码哈希函数。本工具接收测试密码与 4 到 16 的成本因子,输出完整编码哈希;“验证密码”页会使用哈希中记录的参数检查候选密码。OWASP 将 bcrypt 视为兼容旧系统的选择,新系统在可用时应优先评估 Argon2id。生产成本必须在类生产硬件和预期并发下测试,本页面不能替系统选值。Bcrypt 通常存在 72 字节输入边界,应核验所用库的实际行为。计算在当前浏览器中执行,但不要向任何通用页面粘贴真实生产密码。参见 Bcrypt 工程指南哈希定义
  1. 在输入框中输入您的密码
  2. 选择本次测试的成本因子;生产值应在目标服务中实测,不要复制页面设置
  3. 点击「生成 Bcrypt 哈希」创建哈希值
  4. 复制生成的哈希值存储到数据库
  5. 使用验证标签页检查密码是否匹配哈希

Bcrypt 哈希等同于加密吗?

不等同。加密可以用密钥逆向恢复,bcrypt 是单向密码验证函数。应存储完整编码哈希,并调用库提供的 compare/verify 操作;不要设计需要恢复原始密码的流程。

为什么相同密码会生成不同的 Bcrypt 哈希?

维护良好的 bcrypt 库会为每次哈希生成新的 128 位随机盐值,并把盐值编码到结果中。因此不同哈希可以验证同一密码。应把候选密码与已存储哈希比较,不能比较两个刚生成的哈希字符串。

Bcrypt 应该使用什么成本因子?

不存在通用值。OWASP 当前针对旧系统的指导要求工作因子至少为 10,但最终设置仍需使用所选库,在类生产硬件和预期登录并发下测量。选择满足延迟与可用性预算的最高值,并在策略提高后于成功登录时重新哈希。

Bcrypt 的 72 字节边界是什么?

许多 bcrypt 实现只使用输入的前 72 个字节;多字节 UTF-8 字符可能在 72 个字符之前达到该边界。应定义并测试字节长度策略,绝不能静默截断。任何预哈希构造都必须经过明确设计、版本化和安全评审。

如何验证密码与 Bcrypt 哈希是否匹配?

验证器从已存储的 60 字符哈希中读取版本、成本和盐值,对候选密码执行 bcrypt,再通过库的验证 API 比较校验部分。该操作外围仍需配置速率限制、安全传输、账户控制和泄露响应。