我正在为我的实验室开发一个Web应用程序,我找到了这些哈希
B8qE6WbhBO1F53Cjj + O42TbczyFFqrWpG + BcfS70piQQiI2yASVRfhBiLRtIEU7PxdprFtkzDVLeVxfL7z5vTQ ==
8NxO3RXifKUPNw9f7jjp9T6TA8UePPK5jn6QdoPTgEkOElVdNSAG8xp2Y / XJJ / dlCcOLxaYIEbE0n / 1onvyAlA ==
我已经阅读了由于随机性我们无法识别哈希类型的答案,但我想知道是否可以根据某些属性进行猜测,首先看起来这看起来像base 64编码(因为填充)和+和/符号),但如果我解码它的一些二进制数据。因此,如果它是一个哈希,为什么它是基于64编码的,如果解码为什么它是二进制数据而不是一些哈希
我很困惑
答案 0 :(得分:1)
散列函数操作并返回二进制数据。您习惯于以十六进制格式看到哈希值。这只是为了使二进制数据可读。另一种常用的格式是base64,就像上面的哈希一样。
解码时获取二进制数据的原因是散列的结果是二进制数据。同样,解码hex或base64将始终提供二进制数据。总是。情况可能是解码后的二进制数据是一个完美的UTF8字符串,但它仍然是二进制数据。
另外,请注意,在解码base64时,二进制数据的长度为64字节。这意味着哈希是SHA512哈希值,但绝不是确定的。