识别哈希类型

Identifying hash type

我正在为我的实验室开发一个 Web 应用程序,我发现了这些哈希

B8qE6WbhBO1F53Cjj+O42TbczyFFqrWpG+BcfS70piQQiI2yASVRfhBiLRtIEU7PxdprFtkzDVLeVxfL7z5vTQ==

8NxO3RXifKUPNw9f7jjp9T6TA8UePPK5jn6QdoPTgEkOElVdNSAG8xp2Y/xJJ/dlCcOLxaYIEbE0n/1onvyAlA==

我已经阅读了由于随机性我们无法识别哈希类型的答案,但我想知道是否可以根据某些属性进行猜测,乍一看这看起来像 base 64 编码(因为填充和 + 和 / 符号)但如果我解码它是一些二进制数据。因此,如果它是一个散列,为什么它是 base 64 编码的,如果是解码的,为什么它是二进制数据而不是一些散列

我很迷茫

哈希函数对二进制数据进行运算,return。您习惯于看到我假设的十六进制格式的哈希值。这只是为了使二进制数据可读。另一种常用格式是 base64,就像上面的哈希值一样。

解码时得到二进制数据的原因是因为散列的结果是二进制数据。同样,解码 hex 或 base64 将始终给出二进制数据。总是。可能解码后的二进制数据是完美的UTF8字符串,但还是二进制数据.

另外注意,base64解码时,二进制数据的长度为64字节。这意味着哈希值可能是 SHA512 哈希值,但绝不是确定的。