哈希类型识别器

根据格式识别哈希类型:bcrypt、Argon2、$6$ SHA-512 crypt、LDAP {SSHA}、Django PBKDF2、MySQL,或按十六进制长度判断 MD5/SHA,并给出 hashcat 模式。

识别结果只是根据长度、字符集和前缀做出的推测:许多算法的摘要长度相同,因此单纯的十六进制字符串永远无法被确定识别。

什么是 哈希类型识别?

分析哈希字符串,并列出可能生成它的算法,附带可信度标签和对应的 hashcat 模式。$2b$(bcrypt)、$argon2id$、$6$(SHA-512 crypt)、{SSHA} 或 pbkdf2_sha256$ 等自描述格式可被确定识别;纯十六进制或 Base64 摘要则按长度匹配。

如何使用 哈希类型识别

  1. 把哈希粘贴到要识别的哈希中。
  2. 查看检测到的格式以及候选列表,按从最有可能到仅仅可能的顺序排列。
  3. 用 hashcat 模式或算法名称,借助原始软件或哈希生成器来验证这个猜测。

示例

输入
5d41402abc4b2a76b9719d911017c592
输出
32 hexadecimal characters (128 bits). Possible algorithms: MD5 (most likely, hashcat -m 0), NTLM (most likely, hashcat -m 1000), MD4, MD2, RIPEMD-128, LM

何时使用 哈希类型识别

当你在数据库转储、配置文件或 CTF 题目中发现一个哈希,需要知道它由什么生成时使用。纯十六进制摘要永远无法被确定识别——许多算法的长度相同——所以请通过对已知输入做哈希来确认。该工具不会破解或还原哈希。

哈希类型识别 的工作原理

输入首先会与约 35 种 crypt(3)、LDAP、Django、Werkzeug、passlib、phpass、MySQL 和 MSSQL 格式的前缀模式进行比对;匹配则可准确指出算法。否则,十六进制字符串按长度分类(32 个十六进制字符 = 128 位 → MD5、NTLM、MD4…;64 个 → SHA-256、SHA3-256、BLAKE2s、BLAKE3…),Base64 字符串则按解码后的字节长度分类。同一长度组中的第一个候选在实践中最常见;其余的列为可能。

常见用例

  • 在迁移之前,弄清楚遗留数据库是如何存储密码的
  • 在获得授权的密码审计中选择正确的 hashcat 模式
  • 识别 LDAP {SSHA} 或 /etc/shadow 格式
  • 解决以未知哈希开头的 CTF 题目

安全提示

哈希在本地分析。请只分析你有权处理的哈希。

常见问题

为什么它列出了好几种算法?

许多哈希函数产生相同长度的摘要(MD5、NTLM 和 MD4 都是 128 位),它们的输出看起来完全一样。只有带前缀的格式才没有歧义。

如何确认是哪种算法?

在哈希生成器中,用候选算法对已知输入(例如你设置的密码)做哈希,然后比较。

它能解密或破解哈希吗?

不能。哈希是单向的。该工具只识别格式。

“确定”是什么意思?

该哈希带有算法标识符,例如 bcrypt 的 $2b$ 或加盐 SHA-1 的 {SSHA},所以没有歧义。

推荐的下一步

探索更多分类