MD5加密算法的個人理解

MD5消息摘要算法(英語:MD5 Message-Digest Algorithm),一種被廣泛使用的密碼散列函數,可以產生出一個128位(16字節)的散列值(hash value),用於確保信息傳輸完整一致。MD5由美國密碼學家羅納德·李維斯特(Ronald Linn Rivest)設計,於1992年公開,用以取代MD4算法。  關於詳細的描述,可以看看百度百科裏提供的信息。

 

MD5可以對  一段信息(比如一串文字、一個文件等) 產生 16個字節的信息摘要,(無論多大的文件,都僅僅產生16個字節的信息摘要)。MD5就可以爲任何文件(不管其大小、格式、數量)產生一個同樣獨一無二的“數字指紋”,如果任何人對文件做了任何改動,其MD5值也就是對應的“數字指紋”都會發生變化。每個文件的MD5值是不同的,如果任何人對文件做了任何改動,其MD5值也就是對應的“數字指紋”就會發生變化。 

 

在實際的項目開發中,需要上傳代碼到網盤裏,但是光憑代碼的版本號,無法確定此代碼版本是否被別人修改過;在下載此代碼的時候,也無法確定下載的過程中是否出現丟包現象,導致缺失某個文件(或某個文件裏的內容)。這個時候,我們就需要使用MD5校驗了。

比如:

我想上傳名爲 test.rar 的壓縮文件,這個時候需要使用MD5工具將 test.rar 加密,然後就產生16個字節的獨一無二的信息摘要,新建一個文本文件將信息摘要保存下來,假設名爲test_md5.txt ,然後將  test.rar 和 test_md5.txt 放在一個文件夾下,壓縮後,上傳到網盤。

下載後,解壓縮,將使用MD5工具計算 test.rar 的信息摘要,將得到的值與 test_md5.txt裏的值進行對比。若一直,則下載下來的文件沒有問題,是之前上傳的那一個。若不一致,則說明此 壓縮文件 test.rar有問題,不能使用。

 

參考:https://baike.baidu.com/item/MD5#2_1

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章