詞典的搜索過程
哈希算法就像在字典中查找單詞的過程。每個字母在詞典中都有相應的詞條。無論單詞有多長,它都屬於詞典中的某個目錄。但是因為每壹項下都有很多字,所以還是無法確定這兩個字是什麽。
降低碰撞的可能性
為了減少沖突的可能性,可以重新排列字典。例如,除了按首字母排序之外,還為每個首字母下的單詞添加了26個附加條目,並且每個條目都以A-Z字母結尾。這樣任意兩個詞屬於同壹範疇的概率就大大降低了。
彩虹表的創建
為了更方便的找到單詞,妳可以創建壹個全新的空詞典,將所有可能的單詞壹壹放入對應的詞條中。這樣,當妳需要查找壹個單詞時,只需要從對應的詞條中隨機選擇壹個即可。這種字典叫做“彩虹表”。
哈希算法的應用
哈希算法廣泛應用於密碼學、數據完整性檢查、數據比較等領域。壹個好的哈希算法應該很難從結果中推導出原始數據,尤其是當數據有意義的時候。