-
關鍵詞 k1 ≠ k2, but h(k1) = h(k2). 統一雜湊函式。
,則不同的關鍵字值對應於相同的儲存位置。
開始插入 59,i=0,h(59,0)=(59 mod 11 + 0*(1+59 mod 9)) mod 11=4,位置 4 與 37 衝突,繼續計算。
衝突 1 次,i=1,h(59,1)=(59 mod 11 + 1*(1+59 mod 9)) mod 11=10,位置 10 為空,59 插入位置 10。
如果有進一步的衝突,則 i=2,繼續計算,依此類推。
25 和 72 相似。
-
答:資料包摘要演算法(hash algorithm)是一種精心挑選的單向函式,通過它可以很容易地計算出一條長訊息來消化其資料包,並且生成的資料包摘要長度是固定的,不受原始資料包長度的影響。
並且它同時具有單向和唯一的特點,即不可能依次(單向)從摘要中獲取原始訊息。 僅當使用相同的資料包摘要操作和相同的原始訊息時,才能生成相同的訊息摘要。
正是由於這些特點,資料包彙總演算法經常與數字簽名波束相結合,實現資料包識別功能。
RFC 1321 提出了帶有橡膠脊的訊息彙總演算法 MD5,該演算法已被廣泛使用。 它計算任意長度的資料包,以生成 128 位 MD5 資料包摘要**。
另一種常見的資料包彙總演算法是安全雜湊演算法,它類似於 MD5,但程式碼長度為 160 位,比 MD5 更安全,但效率低於 MD5。
-
1)餘數法:族加擾法首先估計整個雜湊表中的表項數。然後將此估計值用作除數,以刪除每個原始值以獲得商和餘數。
2)摺疊法:當原值為數字時,將原值分成若干部分,然後各部分疊加,得到的最後四位數字(或可以使用數字的其他數字)作為雜湊值時,使用這種方法。
3)基數轉換方法:當原始值為數字時,可以將原始大值的基數轉換為不同的數字。例如,您可以將十進位原始值轉換為十六進製雜湊值。 為了使雜湊值具有相同的長度,可以省略高位數字。
4)資料重排方法:此方法只是將資料打亂到原始值中。例如,您可以將數字從第三位數字反轉到第六位數字,然後使用重新排列的數字作為雜湊值。
雜湊函式不是通用的,例如,在資料庫中使用執行良好的雜湊函式可能不適用於加密或錯誤檢查。 在密碼學領域有幾個眾所周知的雜湊函式。 這些函式包括 MD2、MD4 和 MD5,它們使用雜湊將數字簽名轉換為稱為訊息摘要的雜湊,以及安全雜湊演算法 (SHA),這是一種標準演算法,可生成更大的(60 位)資訊摘要,有點類似於 MD4 演算法。
雜湊表(也稱為雜湊表)是一種基於鍵值直接訪問的資料結構。 也就是說,它通過將鍵值對映到表中的位置來訪問記錄,以加快查詢速度。 此對映函式稱為雜湊函式,儲存記錄的陣列稱為雜湊表。 >>>More