bcrypt 是专门为密码存储设计的哈希算法,内置盐值并通过 Cost 工作因子控制计算成本。Cost 每增加 1,单次计算耗时约翻倍,因此可以随硬件发展持续提高破解成本。这个工具把生成、校验、解析三件事放在同一个页面,用页签切换。
输入密码并选择 Cost 即可生成哈希。Cost 提供 4 到 15 的分档选项,并按测试用、较低成本、推荐范围、高成本分组标注,默认 12。密码框支持显示与隐藏,也可以用浏览器安全随机数生成一个仅用于测试参数的随机密码。生成结果为标准的 bcrypt 字符串,可直接复制。
把数据库中已有的 bcrypt 哈希与待校验密码一起填入,工具会读取哈希中记录的版本与 Cost 参数重新计算并比对,输出密码匹配或不匹配,不会产生新的哈希。2a、2b、2y 三种版本都能正常校验,其中 2y 常见于 PHP 生态,2b 是当前主流实现。
解析模式可以从一条 bcrypt 哈希中读出版本标识、Cost 值、22 位盐值与 31 位哈希主体,用于确认历史数据使用的参数强度。格式不正确时会明确指出原因:前缀不是 2a、2b、2y,主体长度不足 53 个字符,或 Cost 超出 4 到 31 的有效范围。
工具内置基准测试:用当前 Cost 连续计算若干次,给出平均耗时、最快与最慢耗时,并按常见调优区间(单次约 100 到 250 毫秒)给出提高或降低参数的建议。需要注意基准数据只代表当前设备与浏览器,服务器上的实际耗时仍需在目标环境实测。
所有计算都由浏览器的 WebAssembly 引擎在本地完成,密码与哈希不会上传服务器,也不会被保存。作为密码类工具,这里刻意不提供任何服务端兜底计算,即使本地引擎不可用也只会报错,不会把你的密码送出浏览器。
评论 0