2017-08-15 115 views
-1

我利用了我的实验室的Web应用程序,我发现这些散列识别哈希类型

B8qE6WbhBO1F53Cjj + O42TbczyFFqrWpG + BcfS70piQQiI2yASVRfhBiLRtIEU7PxdprFtkzDVLeVxfL7z5vTQ ==

8NxO3RXifKUPNw9f7jjp9T6TA8UePPK5jn6QdoPTgEkOElVdNSAG8xp2Y/XJJ/dlCcOLxaYIEbE0n/1onvyAlA ==

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

我很困惑

+0

我正在投票结束这个问题作为题外话,因为'这是什么散列'或'什么是这种加密'或'这些随机字节是什么意思'不是编程问题。 –

回答

1

Hash函数上操作,并返回,二进制数据。您习惯于以十六进制格式查看哈希值。这只是为了使二进制数据可读。另一个常用的格式是base64,就像上面的哈希一样。

解码时得到二进制数据的原因是因为哈希结果二进制数据。同样,解码十六进制或base64将始终提供二进制数据。总是。解码的二进制数据可能是一个完美的UTF8字符串,但它仍然是二进制数据的

另外,请注意,在解码base64时,二进制数据的长度是64个字节。这意味着它有可能,但决不是明确的,哈希值是SHA512哈希值。