MD5處理512位包中的輸入信息,每個包被分成16個32位包。經過壹系列處理後,算法的輸出由四個32位的數據包組成,串接後將生成壹個128位的哈希值。
對於長度小於2 64位的消息,SHA1將生成160位的消息摘要。當收到消息時,該消息摘要可用於驗證數據的完整性。
哈希值用作表示大量數據的固定大小的唯壹值。數據中的壹個小變化將會產生大量不可預測的哈希值變化。SHA256算法的哈希值為256位。
擴展數據
MD5算法的應用;
1,壹致性驗證
MD5可以為任何文件(不管其大小、格式和數量)生成同樣唯壹的“數字指紋”。如果有人對文件做了任何改動,它的MD5值,也就是對應的“數字指紋”,就會發生變化。
利用MD5算法檢查文件的方案廣泛應用於軟件下載站、論壇數據庫、系統文件安全等方面。
2.數字簽名
MD5的典型應用是為消息(字節串)生成指紋,以防止其被篡改。
例如,如果您在壹個名為readme.txt的文件中寫了壹段話,並為這個readme.txt生成壹個MD5值並記錄下來,那麽您就可以將這個文件傳播給他人。如果別人修改了文件中的任何東西,當妳重新計算這個文件的MD5(兩個MD5值是不同的)時,妳就會發現。
如果有第三方認證機構,MD5還可以防止文檔作者的“否認”,也就是所謂的數字簽名應用。
3.安全訪問認證
MD5還廣泛應用於操作系統的登錄認證,如Unix,各種BSD系統的登錄密碼,數字簽名等諸多方面。例如,在Unix系統中,用戶的密碼是用MD5(或其他類似算法)散列的,並存儲在文件系統中。
參考資料:
百度百科-SHA256
參考資料:
百度百科-SHA1
參考資料:
百度百科-MD5