我正在寻找快速哈希算法。实际上,我正在尝试构建一个哈希表,其键是URL的。我使用MD5来散列URL,但是它太慢了(我使用了java的内置函数)。任何人都可以通过告知一些快速哈希算法来帮助我。
答案 0 :(得分:6)
Java的String
类已经实现了.hashCode()
。对于Java来说,这可能是最快的32位散列,因为它在核心上进行了大量优化。这也是使用内置集合时使用的哈希,例如java.util.HashMap
。
答案 1 :(得分:3)
Google开源了一个非常快速的哈希算法:CityHash
答案 2 :(得分:0)
MD5是加密哈希,因此与非加密哈希值相比会很慢。正如Yann所说,如果你想要一个64位的哈希,那么Java哈希可能是最快的。
如果不合适,那么还有其他各种尺寸的快速非加密哈希,例如Fowler–Noll–Vo。