用md5sum校驗文件的完整性

    校驗程序用來從文件中生成校驗密鑰,然後利用這個校驗密碼覈實文件的完整性。
一份文件可以通過網絡分發到不同的地點。出於多種原因,數據有可能在傳輸過程中丟失了若干位,從而導致文件的破壞。
    因此我們需要採用一些測試方法來確定接收到的文件是否存在錯誤。我們可以對原始文件和接收到的文件進行校驗。
通過對比兩者的校驗結果,就能夠覈實接收到的文件是否正確。校驗對於編寫備份腳本或系統維護腳本來說非常重要。


使用md5sum或sha1sum進行校驗
   最知名並且使用最廣泛的校驗和技術是md5sum和sha1sum。它們對文件內容使用響應的算法來生成校驗結果。
爲了計算md5sum,使用下列命令
md5sum filename
xxxxxxxxxxxxxxxxxxxx(32個字符的十六進制字符串) filename
如上所示,md5sum加密後的結果是一個32個字符的十六進制字符串。
 
將輸出的校驗結果重定向到一個文件,然後用這個md5文件覈實數據的完整性:
md5sum filename > file_sum.md5
 
可以按照下面的方法用生成的文件覈實數據完整性:
md5sum -c file_sum.md5
 
    sha1sum是另一個種常用的校驗算法。它從給定的輸入文件中生成一個長度爲40個字符的十六進制串。其用法和md5sum非常相似。


可以對多個文件進行校驗
md5sum file1 file2 file3 ...
輸出中會在每行中包含單個文件的校驗結果字符串。
 
可以按照下面的方法用生成的文件覈實數據完整性:
md5sum -c file_sum.md5
#這個命令會輸出校驗結果是否匹配的消息


對目錄進行校驗
    對於目錄進行校驗意味着我們需要對目錄中的所有文件以遞歸的方式進行計算。
    它可以用命令md5deep或者sha1deep來實現。首先,需要安裝md5deep軟件包以確保能找到這些命令。用法如下:
 
md5deep -rl directory_path > directory.md5
#-r 使用遞歸的方式
#-l 使用相對路徑。默認情況下會輸出絕對路徑。
 
用下面的命令進行覈實:
md5sum -c directory.md5
 
 

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