- 在输入框中输入您的密码
- 选择本次测试的成本因子;生产值应在目标服务中实测,不要复制页面设置
- 点击「生成 Bcrypt 哈希」创建哈希值
- 复制生成的哈希值存储到数据库
- 使用验证标签页检查密码是否匹配哈希
Bcrypt 哈希等同于加密吗?
不等同。加密可以用密钥逆向恢复,bcrypt 是单向密码验证函数。应存储完整编码哈希,并调用库提供的 compare/verify 操作;不要设计需要恢复原始密码的流程。
为什么相同密码会生成不同的 Bcrypt 哈希?
维护良好的 bcrypt 库会为每次哈希生成新的 128 位随机盐值,并把盐值编码到结果中。因此不同哈希可以验证同一密码。应把候选密码与已存储哈希比较,不能比较两个刚生成的哈希字符串。
Bcrypt 应该使用什么成本因子?
不存在通用值。OWASP 当前针对旧系统的指导要求工作因子至少为 10,但最终设置仍需使用所选库,在类生产硬件和预期登录并发下测量。选择满足延迟与可用性预算的最高值,并在策略提高后于成功登录时重新哈希。
Bcrypt 的 72 字节边界是什么?
许多 bcrypt 实现只使用输入的前 72 个字节;多字节 UTF-8 字符可能在 72 个字符之前达到该边界。应定义并测试字节长度策略,绝不能静默截断。任何预哈希构造都必须经过明确设计、版本化和安全评审。
如何验证密码与 Bcrypt 哈希是否匹配?
验证器从已存储的 60 字符哈希中读取版本、成本和盐值,对候选密码执行 bcrypt,再通过库的验证 API 比较校验部分。该操作外围仍需配置速率限制、安全传输、账户控制和泄露响应。
Bcrypt 密码哈希指南:成本因子、盐值与安全实践(2026)
Bcrypt 密码哈希完整指南,讲解随机盐值、成本因子、60 字符哈希结构和自适应升级机制,分析 Bcrypt 与 Argon2id、Scrypt、PBKDF2 的边界。包含 Node.js、Python、Java、Go 实战代码,以及密码迁移、72 字节限制、生产硬件校准、登录防护和凭据泄露响应建议。
密码生成器:熵值、CSPRNG 与账户安全
理解密码熵值、CSPRNG 无偏采样、长度、随机口令、密码管理器、MFA 与泄露响应的关系,区分理论搜索空间和真实可破解性,并提供浏览器、Python、Java 实现边界,避免把生成器、长度或字符复杂度误当成账户安全保证,同时说明服务长度策略、密码复用、恢复流程、剪贴板、日志泄露、密码重置、备份代码和钓鱼风险。