2011-04-11 57 views
2

我目前正在爲我們的一些後端系統構建一個緩存系統,這意味着我需要某種類型的散列表來表示緩存的實體。在這種情況下,我想知道是否有人知道任何顯示不同算法的測試以及激發碰撞所需的最小ASCII字符串長度? IE瀏覽器。什麼是安全長度(ASCII字符)以散列一系列功能?對ASCII字符進行散列衝突的測試

原因當然是我想要在大小(緩存將代表相對較小的服務器上的數百萬個實體)之間進行最佳折衷,性能和碰撞安全性。

由於提前, 尼克

回答

1

如果你想要一個強大的哈希值,我建議是這樣的Jenkins Hash。這應該不太可能產生衝突。在算法方面,你要找的是一個avalanche test
Bob Jenkins' Site在這類事情上有很多方便的信息。
至於哈希表的大小,我認爲Knuth的建議有它足夠大,這樣一個完美的哈希表中的2/3是滿的,而詹金斯建議兩個

希望最近的更大的權力這有助於!