加密哈希函数处理任意大小的数据并产生固定大小的输出(哈希)。由于输出的大小和字符集在数学上是由算法严格定义的,因此我们通常可以通过简单地查看其长度和模式来推断出生成它的可能算法。
- 十六进制长度: 32 个字符的十六进制字符串的长度为 128 位,强烈建议使用 MD5、NTLM 或 MD4。 64 个字符的十六进制字符串的长度为 256 位,几乎可以肯定表示 SHA-256。
- 前缀标识符: 密码哈希方案通常包括识别前缀。例如,以以下开头的哈希值
$2a$,$2y$, 或$2b$毫无疑问是 Bcrypt。哈希值开头为$argon2i$或$argon2id$是Argon2。 - 注意事项: 多种不同的算法可以产生完全相同的长度和字符集的输出(例如,MD5 和 NTLM)。在这些情况下,如果没有上下文就不可能确定,因此该工具将列出所有可能的候选者。