关于Bcrypt 哈希
Bcrypt 是一种专门为密码存储设计的"慢哈希"算法,由 Niels Provos 与 David Mazières 于 1999 年设计。与 MD5、SHA-256 等"快哈希"不同,bcrypt 通过内置的盐值(Salt)与可调节的计算成本因子(Cost Factor),使每次哈希计算都耗时数十到数百毫秒,从而显著增加暴力破解的成本,是当前推荐用于密码存储的主流算法之一。
在用户注册、登录、密码重置等场景中,后端需要把用户密码哈希后存储到数据库,避免明文存储导致数据库泄露后密码暴露。bcrypt 内置盐值与成本因子,无需开发者额外处理盐值生成与存储,且支持通过提高成本因子应对硬件性能提升,是密码存储的理想选择。
本 Bcrypt 哈希工具基于浏览器端 bcryptjs 库实现,支持生成 Bcrypt 哈希、校验明文与哈希是否匹配、自定义成本因子(4-12)。所有计算在浏览器本地完成,明文密码不会上传到任何服务器,可放心使用。
核心特性
生成与校验双模式
一键生成 Bcrypt 哈希,或填入明文与哈希校验是否匹配,覆盖密码存储与登录校验两大场景。
成本因子可调
支持设置成本因子(4-12),数值越大计算越慢越安全,默认 10 适合大多数场景。
内置盐值处理
bcrypt 自动生成盐值并嵌入哈希结果,无需单独存储盐值,使用更简单。
实时性能提示
根据所选成本因子显示预计计算耗时,帮助选择合适的强度。
本地处理零上传
所有哈希计算在浏览器内完成,明文密码不离开您的设备。
使用场景
设计用户注册流程
开发用户系统时,使用本工具快速验证 bcrypt 哈希生成结果,确保后端密码存储逻辑正确。
模拟登录校验
填入已知明文与哈希,校验 bcrypt 校验逻辑是否正确,避免实现错误导致登录失败。
评估安全强度
通过调整成本因子观察计算耗时,理解不同强度对暴力破解的抵御能力。
密码迁移测试
从 MD5、SHA 等弱哈希迁移到 bcrypt 时,使用本工具生成新的 bcrypt 哈希并验证。
常见问题
bcrypt 比 MD5、SHA-256 更适合存储密码吗?
是的。MD5、SHA-256 等是"快哈希",计算速度极快,反而有利于攻击者暴力破解。bcrypt 是"慢哈希",每次计算耗时数十毫秒,且成本因子可调以应对硬件性能提升,是密码存储的推荐算法。
成本因子应该设置为多少?
建议 10-12。成本因子每增加 1,计算时间翻倍。10 适合普通应用(约 100ms),12 适合安全敏感场景(约 400ms)。设置过高会显著影响登录响应速度,需在安全与性能之间权衡。
bcrypt 哈希中包含盐值吗?
是的。bcrypt 自动生成盐值并嵌入哈希字符串中(前 22 字符),无需单独存储盐值。校验时 bcrypt 会从哈希中提取盐值重新计算,与原哈希对比即可。
同一明文每次生成的 bcrypt 哈希相同吗?
不同。每次生成哈希时 bcrypt 都会随机生成新的盐值,因此同一明文每次生成的哈希都不同。但通过盐值校验,仍能正确验证明文是否匹配。