md5sum

計算和校驗文件報文摘要的工具程序

補充說明

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

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

語法

1md5sum(選項)(參數)

選項

1-b:二進制模式讀取文件;
2-t或--text:把輸入的文件作爲文本文件看待;
3-c:從指定文件中讀取MD5校驗和,並進行校驗;
4--status:驗證成功時不輸出任何信息;
5-w:當校驗不正確時給出警告信息。

參數

文件:指定保存着文件名和校驗和的文本文件。

實例

使用 md5sum 生成密碼

另一種獲取可用作密碼的隨機字符串的方法是計算 MD5 校驗值!校驗值看起來確實像是隨機字符串組合在一起,我們可以用作密碼。確保你的計算源是個變量,這樣的話每次運行命令時生成的校驗值都不一樣。比如 date !date 命令 總會生成不同的輸出。

1[root@localhost ~]# date | md5sum
26a43f2c246cdc3e6a3592652f831d186  -

生成一個文件insert.sql的md5值:

1[root@localhost ~]# md5sum insert.sql
2bcda6cb5c704664f989703ac5a88f112  insert.sql

檢查文件testfile是否被修改過:

首先生成md5文件:

1md5sum testfile > testfile.md5

檢查:

1md5sum testfile -c testfile.md5

如果文件沒有變化,輸出應該如下:

1forsort: OK

此時,md5sum命令返回0。

如果文件發生了變化,輸出應該如下:

1forsort: FAILED
2md5sum: WARNING: 1 of 1 computed checksum did NOT match

此時,md5sum命令返回非0。

這裏,檢查用的文件名隨意。如果不想有任何輸出,則md5sum testfile --status -c testfile.md5,這時候通過返回值來檢測結果。

檢測的時候如果檢測文件非法則輸出信息的選項:

1md5sum -w -c testfile.md5

輸出之後,文件異常輸出類似如下:

1md5sum: testfile.md5: 1: improperly formatted MD5 checksum line
2md5sum: testfile.md5: no properly formatted MD5 checksum lines found

這裏,testfile.md5只有一行信息,但是我認爲地給它多加了一個字符,導致非法。如果md5文件正常那麼-w有沒有都一樣。

來源:https://github.com/jaywcjlove/linux-command

最後修改於: Wednesday, January 31, 2024

相關文章:

翻譯: