【发布时间】:2016-01-29 07:05:09
【问题描述】:
我已经谷歌搜索并检查过
如何从整数生成 MD5 Hash(32/64 个字符)?
我得到的是从字符串或字节数组生成 MD5 哈希字符串的示例。但就我而言,我需要获取整数的 MD5 哈希。
我知道GetHashCode() 方法用于获取整数的哈希码。但是这种方法不适用于我的情况。
是否需要将整数转换为字符串或字节数组才能获得预期的 MD5 哈希字符串?
【问题讨论】:
-
这在很大程度上取决于您期望的输出类型。您可以散列字符串表示形式,也可以散列整数的字节;两者都是有效的,但会产生不同的结果。
-
除非您的整数是“特殊”长整数(如
BigInteger),否则它是 32 位或 64 位值。 MD5 散列是一个 128 位的值,那么为什么要散列一个整数呢?您可以只使用整数作为哈希值,即使现在每个“哈希”都是唯一的。例如,两个不同的整数不会有相同的“哈希”值。