Hash 什么样的哈希算法会产生这种文本?

Hash 什么样的哈希算法会产生这种文本?,hash,Hash,8A-25-A5-14-E9-E0-A8-02-0E-91-32-46-44-7E-EE-11 上面的是散列文本。原文是“welcome1”。有人能识别这里使用的算法吗?根据,它显然是“welcome1”Unicode表示的md5哈希 MD5(Unicode): … 8a25a514e9e0a8020e913246447eee11:欢迎 具体来说,它是字符串“welcome1”的UTF-16LE(Little Endian)表示形式 输出: 8a25a514e9e0a82e913246447ee

8A-25-A5-14-E9-E0-A8-02-0E-91-32-46-44-7E-EE-11

上面的是散列文本。原文是“welcome1”。有人能识别这里使用的算法吗?

根据,它显然是“welcome1”Unicode表示的md5哈希

MD5(Unicode):

8a25a514e9e0a8020e913246447eee11:欢迎

具体来说,它是字符串“welcome1”的UTF-16LE(Little Endian)表示形式

输出:

8a25a514e9e0a82e913246447eee11
破折号不是散列输出的一部分,只是十六进制字符。将这些内容取出,用谷歌搜索散列通常会显示结果,特别是如果它是一个常见的短语,如“welcome1”


这是一个很好的对象课程,它告诉我们为什么在处理哈希算法时记住字符编码很重要,因为它们是对字节而不是字符进行操作的。ASCII或UTF8(甚至UTF-16BE)中的散列“welcome1”会导致截然不同的输出,因为字符具有不同的底层字节表示。

常见的散列可能是MD5之类的东西。我猜它有16个字节长,可能更像SHA256,但如果没有密钥,就无法知道是否确实如此。文本从何而来?MD5哈希产生一个16字节(128位)的结果。这很可能是一个。但是如果我在数据库中选择MD5('welcome1'),我会得到一些不同的值(没有-)。@sathis:
-
字符纯粹是为了通过将每个字节分开,使值的十六进制表示更容易让人阅读。它们不是值的一部分,也不是标准函数。
8a25a514e9e0a82e913246447eee11