linux下md5sum用法 (檢視檔案或字串的md5值)

散盡浮華發表於2018-12-31

 

MD5演算法常常被用來驗證網路檔案傳輸的完整性,防止檔案被人篡改。MD5 全稱是報文摘要演算法(Message-Digest Algorithm 5),此演算法對任意長度的資訊逐位進行計算,產生一個二進位制長度為128位(十六進位制長度就是32位)的“指紋”(或稱“報文摘要”),不同的檔案產生相同的報文摘要的可能性是非常非常之小的。

md5sum命令採用MD5報文摘要演算法(128位)計算和檢查檔案的校驗和。一般來說,安裝了Linux後,就會有md5sum這個工具,直接在命令列終端直接執行。

語法

# md5sum(選項)(引數)

選項

-b或--binary:  把輸入檔案作為二進位制檔案看待。 
-t或--text:    把輸入的檔案作為文字檔案看待(預設)。 
-c或--check:   用來從檔案中讀取md5資訊檢查檔案的一致性。(不細說了參見info) 
--status:      這個選項和check一起使用,在check的時候,不輸出,而是根據返回值表示檢查結果。 
-w或--warn:    在check的時候,檢查輸入的md5資訊又沒有非法的行,如果有則輸出相應資訊。

引數

檔案:指定儲存著檔名和校驗和的文字檔案

示例
1) 檢視一個字串的md5值 
線上檢視字串的md5值地址: https://md5jiami.51240.com/
linux終端裡檢視出來的md5值都是"32位小寫"格式的值

[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) 校驗和,若沒有檔案選項,或者檔案處為"-",則從標準輸入讀取。
echo -n : 不列印換行符。(注意: echo -n 後面的-n引數必須加上, 這樣算出的字串的md5值才正確)
cut: cut用來從標準輸入或文字檔案中剪下列或域。剪下文字可以將之貼上到一個文字檔案。 -d 指定與空格和tab鍵不同的域分隔符。-f1 表示第一個域。

2) 檢視一個檔案的md5值

[root@web-master ~]# echo "test md5" > kevin.sql

檢視並獲取這個檔案的md5值
[root@web-master ~]# md5sum kevin.sql
170ecb8475ca6e384dbd74c17e165c9e  kevin.sql

[root@web-master ~]# md5sum kevin.sql|cut -d" " -f1
170ecb8475ca6e384dbd74c17e165c9e

生產這個個檔案的md5值
[root@web-master ~]# md5sum kevin.sql > kevin.sql.md5

檢查兩個檔案是否一樣,可以通過比較兩個檔案的md5值 (後續可以用這個方法來檢驗kevin.sql檔案是否被修改)。
[root@web-master ~]# md5sum kevin.sql
170ecb8475ca6e384dbd74c17e165c9e  kevin.sql

[root@web-master ~]# cat kevin.sql.md5 
170ecb8475ca6e384dbd74c17e165c9e  kevin.sql

相關文章