除了哈希码字符串生成的替代方法之外,Google的CityHash有什么用?

zud*_*kod 14 algorithm hash programming-languages data-structures

Google 最近发布了http://code.google.com/p/cityhash/.它是MurmurHash的变体,http://sites.google.com/site/murmurhash/

正如提到的那样,它不能用于加密,其中所有可能的有趣案例都使用它作为现有哈希的替代方案?

寻找可以使用此哈希实现的算法,类似于http://www.partow.net/programming/hashfunctions/

Nic*_*son 6

MurmurHash(以及扩展名为CityHash)被设计为通用的非安全哈希.它们最常见的用途是作为哈希表中的关键 - 但也存在其他应用程序,例如布隆过滤器.

这种哈希的主要标准是它们可以快速生成,但分布均匀,以避免哈希表中的热点等.第一部分排除了较慢的安全散列函数,第二部分(避免热点)排除了大多数琐碎的函数,例如将字节求和或xoring在一起,这使得设计快速但分布均匀的散列非常具有挑战性.