MD5算法常常被用來驗(yàn)證網(wǎng)絡(luò)文件傳輸?shù)耐暾裕乐刮募蝗舜鄹?。MD5 全稱是報(bào)文摘要算法(Message-Digest Algorithm 5),此算法對任意長度的信息逐位進(jìn)行計(jì)算,產(chǎn)生一個(gè)二進(jìn)制長度為128位(十六進(jìn)制長度就是32位)的“指紋”(或稱“報(bào)文摘要”),不同的文件產(chǎn)生相同的報(bào)文摘要的可能性是非常非常之小的。
md5sum命令采用MD5報(bào)文摘要算法(128位)計(jì)算和檢查文件的校驗(yàn)和。一般來說,安裝了Linux后,就會有md5sum這個(gè)工具,直接在命令行終端直接運(yùn)行。
語法
1 | # md5sum(選項(xiàng))(參數(shù)) |
選項(xiàng)
1 2 3 4 5 | -b或--binary: 把輸入文件作為二進(jìn)制文件看待。 -t或--text: 把輸入的文件作為文本文件看待(默認(rèn))。 -c或--check: 用來從文件中讀取md5信息檢查文件的一致性。(不細(xì)說了參見info) --status: 這個(gè)選項(xiàng)和check一起使用,在check的時(shí)候,不輸出,而是根據(jù)返回值表示檢查結(jié)果。 -w或--warn: 在check的時(shí)候,檢查輸入的md5信息又沒有非法的行,如果有則輸出相應(yīng)信息。 |
參數(shù)
1 | 文件:指定保存著文件名和校驗(yàn)和的文本文件 |
示例 1) 查看一個(gè)字符串的md5值 在線查看字符串的md5值地址: https://md5jiami.51240.com/ linux終端里查看出來的md5值都是"32位小寫"格式的值
1 2 3 4 5 | [root@web-master ~] # echo -n "hello world"|md5sum 5eb63bbbe01eeed093cb22bb8f5acdc3 - [root@web-master ~] # echo -n "hello world"|md5sum |cut -d" " -f1 5eb63bbbe01eeed093cb22bb8f5acdc3 |
命令解釋: md5sum: 顯示或檢查 MD5(128-bit) 校驗(yàn)和,若沒有文件選項(xiàng),或者文件處為"-",則從標(biāo)準(zhǔn)輸入讀取。 echo -n : 不打印換行符。(注意: echo -n 后面的-n參數(shù)必須加上, 這樣算出的字符串的md5值才正確) cut: cut用來從標(biāo)準(zhǔn)輸入或文本文件中剪切列或域。剪切文本可以將之粘貼到一個(gè)文本文件。 -d 指定與空格和tab鍵不同的域分隔符。-f1 表示第一個(gè)域。
2) 查看一個(gè)文件的md5值
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | [root@web-master ~] # echo "test md5" > kevin.sql 查看并獲取這個(gè)文件的md5值 [root@web-master ~] # md5sum kevin.sql 170ecb8475ca6e384dbd74c17e165c9e kevin.sql [root@web-master ~] # md5sum kevin.sql|cut -d" " -f1 170ecb8475ca6e384dbd74c17e165c9e 生產(chǎn)這個(gè)個(gè)文件的md5值 [root@web-master ~] # md5sum kevin.sql > kevin.sql.md5 檢查兩個(gè)文件是否一樣,可以通過比較兩個(gè)文件的md5值 (后續(xù)可以用這個(gè)方法來檢驗(yàn)kevin.sql文件是否被修改)。 [root@web-master ~] # md5sum kevin.sql 170ecb8475ca6e384dbd74c17e165c9e kevin.sql [root@web-master ~] # cat kevin.sql.md5 170ecb8475ca6e384dbd74c17e165c9e kevin.sql |
3)判斷一個(gè)文件是否修改,通過md5來判斷

|