4

查看使用接受字符串并返回 64 位有符号整数值的散列算法。

它不必在密码学上是健全的,只需提供一个不错的冲突率即可用作分布式存储的密钥。

我正在查看似乎符合要求的杂音哈希

很好奇它的属性如何与采用 MD5 哈希之类的前 64 位进行比较。

4

1 回答 1

2

安全散列——即使是理论上“破碎”的散列,如 MD5——表现出与随机性无法区分的分布(否则它们将不安全)。因此,它们尽可能接近完美。

像所有通用哈希函数一样,murmurhash 以正确性换取速度。虽然它对大多数输入显示出非常好的分布特征,但它也有自己的病态案例,例如此处记录的案例,其中重复的 4 字节序列比预期更频繁地导致冲突。

简而言之:使用安全散列函数永远不会更糟,有时甚至比使用通用散列更好。但是,它也会慢很多。

于 2012-11-15T14:01:28.700 回答