我可以使用Knuth哈希为byte[]
生成唯一的哈希数吗?
正常的Knuth哈希算法是这样的:
int KnuthHsh(int v)
{
v *= 2654435761;
return v >> 32;
}
是否还有一种方法可以输入byte[]
并为其生成唯一的哈希值?
public static ulong CalculateHash(byte[] bytes)
{
var hashedValue = 3074457345618258791UL;
foreach (var b in bytes)
{
hashedValue += b;
hashedValue *= 3074457345618258799UL;
}
return hashedValue;
}