我目前正在为一些后端系统构建缓存系统,这意味着我需要某种哈希表来表示缓存的实体。在这种情况下,我想知道是否有人知道任何显示不同算法的测试以及引发冲突所需的最小ASCII字符串长度? IE浏览器。用一系列函数散列的安全长度(ASCII字符)是什么?
原因当然是我希望在大小之间进行最佳权衡(缓存将在相对较小的服务器上代表数百万个实体),性能和碰撞安全性。
提前致谢, 尼克
答案 0 :(得分:1)
如果你想要一个强哈希,我建议像Jenkins Hash这样的东西。这应该不太可能产生冲突。在算法方面,您正在寻找的是avalanche test Bob Jenkins' Site有很多关于此类事情的便利信息 至于哈希表的大小,我相信Knuth建议它足够大,以便使用完美的哈希,表的2/3将是满的,而詹金斯建议最接近的两个权力
希望这有帮助!