您好,登錄后才能下訂單哦!
這期內容當中小編將會給大家帶來有關基于md5的文件完整性檢測是怎么樣的,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
md5sum是Linux平臺下面用來檢測文件完整性的給力工具,維基百科是這樣來解釋 md5sum的:
md5sum是一種計算機程序,用于計算與校驗128位MD5哈希值,此處MD5散列值(或校驗和)作一個文件的數字指紋使用。理論上看,正如其他散列算法一樣,一個MD5哈希值可對應無限個文件,但從現實的角度看,兩個不同的文件幾乎不可能有相同的MD5哈希值,除非其創建便是刻意為之。一般來說,任何對一個文件的非惡意變更都會導致其MD5哈希值改變,因此md5sum一般用于檢查文件完整性,尤其常用于檢測在文件傳輸、磁盤錯誤或其他無惡意涉入的情況下文件的正確性。
示例:
以linux下shell為環境示例,以下文件皆于同一目錄下。
計算校驗值并輸出至hash.md5
$ md5sum filetohashA.txt filetohashB.txt filetohashC.txt > hash.md5
所得文件
文件內包括了哈希值和對應的文件名。
$ cat hash.md5
595f44fec1e92a71d3e9e77456ba80d1 filetohashA.txt
71f920fa275127a7b60fa4d4d41432a3 filetohashB.txt
43c191bf6d6c3f263a8cd0efd4a058ab filetohashC.txt
以MD5值校驗文件
$ md5sum -c hash.md5
filetohashA.txt: OK
filetohashB.txt: OK
filetohashC.txt: OK
注:在校驗文件內,各個md5校驗值與需比較的文件名間必須有兩個空格,文件內換行也應為UNIX換行符(LF),否則無法進行。
檢查單個MD5值
$ echo "595f44fec1e92a71d3e9e77456ba80d1 filetohashA.txt" | md5sum -c
filetohashA.txt: OK
在實際的工作中,我們經常需要確定同事給的某個重要文件在拷貝或者網絡傳輸過程中是否出現了數據的丟失,或者數據的反轉,我們可以借助MD5工具來完成數據的完整性檢測,由于我們公司提供給客戶的資料都是通過網絡下載的,所以對重要的文件,比如源代碼,運行的二進制進行文件校驗的工作是必須的,用戶下載文件到本地后,第一件事情就是校驗文件傳輸的準確性,也可以判斷文件是否被別人不小心進行了修改。
對于單個文件的判斷相對比較簡單,使用 md5sum A > test.txt 生成校驗碼,然后 md5sum -c test.txt 校驗文件的完整性,在我的工作中經常對多個重要文件校驗,這樣我們就可以打開獲得的校驗文件,然后使用:
echo "595f44fec1e92a71d3e9e77456ba80d1 filetohashA.txt" | md5sum -c
命令方式逐步對分布在不同文件夾內的重要文件進行確認,當然也可以把要校驗的文件拷貝到一個文件夾內,使用:
$ md5sum -c hash.md5
命令方式一次性的完成校驗了。
下面的圖片是TI SDK下載頁面對重要文件進行md5sum后的校準值,我們下載重要文件后,同時下載校驗文件,在本地進行文件完整性確認。
上述就是小編為大家分享的基于md5的文件完整性檢測是怎么樣的了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。