如何识别哈希值对应的生成算法?有哪些可靠的在线识别工具?
你给出的哈希采用的是bcrypt算法,判定依据如下:
- 该哈希遵循模块化密码格式(MCF)的编码规范,用
$作为字段分隔符,首个字段$2b$就是bcrypt算法的官方标识。 - 后续的
$10$是bcrypt的成本因子,代表哈希计算会进行2^10=1024次迭代,剩下的字段是base64编码的盐值和最终哈希结果的拼接。 - bcrypt生成的哈希固定为60位,仅包含大小写字母、数字、
.和/字符,你给出的哈希完全符合该特征。
通用哈希算法识别方法
- 优先查看前缀标识:绝大多数开源密码哈希实现都遵循MCF格式,通过首段标识即可快速判定算法:
$1$:MD5 crypt$2a$/$2b$/$2y$:不同版本的bcrypt$5$:SHA-256 crypt$6$:SHA-512 crypt$argon2i$/$argon2d$/$argon2id$:Argon2系列算法
- 其次参考长度和字符集:不同算法输出的哈希长度、允许的字符范围都有固定标准,匹配对应特征也可以辅助判定。
检测工具选择建议
如果是测试场景下的非敏感哈希,优先选择本地运行的开源识别工具,无需联网也不会有数据泄露风险,常见的有hashid、hash-identifier等命令行工具,可覆盖绝大多数常见哈希算法的识别需求。
注意:不要将生产环境的敏感哈希(比如真实用户的密码哈希)上传到任何第三方在线工具,避免敏感数据泄露
内容的提问来源于stack exchange,提问作者gurbajani
相关产品推荐
相关产品推荐

