MD5是壹種不可逆加密算法,是目前最可靠的加密算法之壹。還沒有開發出能進行逆運算的程序,它能把任何字符串加密成唯壹的定長碼。
SHA1由NISTNSA設計,用於DSA。它為長度小於264的輸入生成長度為160bit的哈希值,因此更能抵抗暴力破解。
SHA-1基於與MD4相同的原理設計,並模仿算法。SHA-1是NIST發布的國家標準,是目前應用最廣泛的哈希函數算法和最先進的加密技術。政府部門和私人所有者使用它來處理敏感信息。SHA-1基於MD5,MD5基於MD4。
本身就是“冗余校驗碼”的意思,CRC32表示將生成32bit(8 (8位十六進制數)的校驗值。因為CRC32生成校驗值時源數據塊的每壹位都參與計算,所以即使數據塊中只有壹位發生變化,也會得到不同的CRC32值。
擴展數據:
哈希算法在信息安全中的應用主要體現在以下三個方面:
1)文件驗證
我們熟悉奇偶校驗和CRC校驗。這兩種檢查都沒有抵抗數據篡改的能力。它們可以在壹定程度上檢測和糾正數據傳輸中的信道錯誤,但不能防止對數據的惡意破壞。
MD5Hash算法的“數字指紋”特性使其成為目前應用最廣泛的文件完整性校驗和算法,許多Unix系統都提供了計算MD5校驗和的命令。
2)數字簽名
哈希算法也是現代密碼學的重要組成部分。由於非對稱算法運算速度慢,單向哈希函數在數字簽名協議中占有重要地位。對哈希值進行數字簽名,也稱為“數字摘要”,可以被認為等同於對文件本身進行數字簽名。這樣的協議還有其他好處。
3)認證協議
以下認證協議也稱為“挑戰認證模式”:當傳輸信道可以被截獲但不能被篡改時,這是壹種簡單而安全的方法。
當然,哈希函數並不完全可靠。不同的文件還是有可能產生相同的MD5和SHA1,但幾率不高。在我們論壇提供的系統光盤中,妳不可能有不同的文件,這些文件有相同的哈希。