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
版權申明:
- 未標註來源的內容皆為原創,未經授權請勿轉載(因轉載後排版往往錯亂、內容不可控、無法持續更新等);
- 非營利為目的,演繹本博客任何內容,請以'原文出處'或者'參考鏈接'等方式給出本站相關網頁地址(方便讀者)。