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

时间:2011-04-15 19:04:53

标签: algorithm data-structures programming-languages hash

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

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

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

1 个答案:

答案 0 :(得分:6)

MurmurHash(以及扩展名为CityHash)被设计为通用的非安全哈希。它们最常见的用途是作为哈希表中的键 - 但其他应用程序(如Bloom Filters)也存在。

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