2011-04-11 55 views
2

我目前正在为我们的一些后端系统构建一个缓存系统,这意味着我需要某种类型的散列表来表示缓存的实体。在这种情况下,我想知道是否有人知道任何显示不同算法的测试以及激发碰撞所需的最小ASCII字符串长度? IE浏览器。什么是安全长度(ASCII字符)以散列一系列功能?对ASCII字符进行散列冲突的测试

原因当然是我想要在大小(缓存将代表相对较小的服务器上的数百万个实体)之间进行最佳折衷,性能和碰撞安全性。

由于提前, 尼克

回答

1

如果你想要一个强大的哈希值,我建议是这样的Jenkins Hash。这应该不太可能产生冲突。在算法方面,你要找的是一个avalanche test
Bob Jenkins' Site在这类事情上有很多方便的信息。
至于哈希表的大小,我认为Knuth的建议有它足够大,这样一个完美的哈希表中的2/3是满的,而詹金斯建议两个

希望最近的更大的权力这有助于!