當前位置:成語大全網 - 新華字典 - 為什麽哈希算法是不可逆的?

為什麽哈希算法是不可逆的?

這個HASH算法不是大學裏數據結構課裏那個HASH表的算法。這裏的HASH算法是密碼學的基礎,比較常用的有MD5和SHA,最重要的兩條性質,就是不可逆和無沖突。所謂不可逆,就是當妳知道x的HASH值,無法求出x;所謂無沖突,就是當妳知道x,無法求出壹個y, 使x與y的HASH值相同。這兩條性質在數學上都是不成立的。因為壹個函數必然可逆,且由於HASH函數的值域有限,理論上會有無窮多個不同的原始值,它們的hash值都相同。MD5和SHA做到的,是求逆和求沖突在計算上不可能,也就是正向計算很容易,而反向計算即使窮盡人類所有的計算資源都做不到。我覺得密碼學的幾個算法(HASH、對稱加密、公私鑰)是計算機科學領域最偉大的發明之壹,它授予了弱小的個人在強權面前信息的安全(而且是絕對的安全)。舉個例子,只要妳壹直使用https與國外站點通訊,並註意對方的公鑰沒有被篡改,G**W可以斷開妳的連接,但它永遠不可能知道妳們的傳輸內容是什麽。