1、簡介
MD5演算法常常被用來驗證網路檔案傳輸的完整性,防止檔案被人篡改。MD5 全稱是報文摘要演算法(Message-Digest Algorithm 5),此演算法對任意長度的資訊逐位進行計算,產生一個二進位長度為128位(十六進位長度就是32位)的“指紋”(或稱“報文摘要”),不同的檔案產生相同的報文摘要的可能性是非常非常之小的。
在linux或Unix上,md5sum是用來計算和校正檔案報文摘要的工具程式。一般來說,安裝了Linux後,就會有md5sum這個工具,直接在命令列終端直接運行。
2、命令格式
md5sum [OPTION]... [FILE]...
3、命令選項
-b 或 --binary :把輸入檔案作為二進位檔案看待。
-t 或 --text :把輸入的檔案作為文字檔看待(預設)。
-c 或 --check :用來從檔案中讀取md5資訊檢查檔案的一致性。(不細說了參見info)
--status :這個選項和check一起使用,在check的時候,不輸出,而是根據傳回值表示檢查結果。
-w 或 --warn :在check的時候,檢查輸入的md5資訊又沒有非法的行,如果有則輸出相應資訊。
4、例子
(1)生產一個檔案的md5值,如下所示:
[root@bkjia www.bkjia.com]# md5sum p182 > cc.txt
這樣,就生產了檔案p182的md5校正檔案cc.txt,開啟cc.txt可以看到如下內容:
[root@bkjia www.bkjia.com]# cat cc.txt
dd05e55e3aca2d39e49a1a7d1b3fd404 p182
(2)檢查兩個檔案是否一樣,可以通過比較兩個檔案的md5值
[root@bkjia www.bkjia.com]# md5sum p182 > ee.txt
[root@bkjia www.bkjia.com]# cat ee.txt
0f0b000b096ac947d6067466cc60ffd0 p182
[root@bkjia www.bkjia.com]# md5sum p183 > ff.txt
[root@bkjia www.bkjia.com]# cat ff.txt
dd05e55e3aca2d39e49a1a7d1b3fd404 p183
(3)判斷一個檔案是否修改,通過md5來判斷
[root@bkjia www.bkjia.com]# md5sum p182 > cc.txt
[root@bkjia www.bkjia.com]# cat cc.txt
0f0b000b096ac947d6067466cc60ffd0 p182
修改下p182檔案:
[root@bkjia www.bkjia.com]# vi p182
跟原來的md5結果進行對比:
[root@bkjia www.bkjia.com]# md5sum p182 -c cc.txt
md5sum: p182: no properly formatted MD5 checksum lines found
p182: FAILED
md5sum: WARNING: 1 of 1 computed checksum did NOT match
修改後md5結果如下:
[root@bkjia www.bkjia.com]# md5sum p182 > dd.txt
[root@bkjia www.bkjia.com]# cat dd.txt
521e87e3331e94a483aec6bf19039845 p182