取任意長度的消息,生成一個固定長度的散列值,或者叫做摘要。哈希函數的實現都是公開的,它廣泛應用於文件完整性檢測、數字簽名中。登錄密碼也有用到哈希函數,一般網站在數據庫中不是直接存儲的用戶密碼,而是密碼的哈希值,這樣即使數據庫暴露,攻擊者仍然是不知道密碼的明文的。

這要求Hash函數擁有以下特性:一是單向性,即不可逆性,我們無法從哈希值反過來得到原文。二是衝突碰撞抵禦能力,即找到兩個不同的消息原文,他們的哈希值相同,這在計算上不可行。

實際上,MD5已經不再安全。在2005年,我國山東大學王小雲教授成功破解MD5算法,使得使用普通電腦在數小時內即可找到哈希碰撞,這在國際密碼學領域引發地震。 更多 >