MD5算法通常用於檢查文件完整性,尤爲經常使用於檢測在(網絡)文件傳輸、拷貝、磁盤錯誤或其餘無惡意涉入的狀況下文件的正確性。MD5 全稱報文摘要算法(Message-DigestAlgorithm 5)[RFC 1321],該算法對任意長度的信息進行逐位計算,產生一個二進制長度128位(十六進制長度32位)的校驗和(或稱「指紋」,「報文摘要」),不一樣的文件內容生成相同的報文摘要的機率是極其小的。算法
在Linux或Unix上,md5sum是用來計算和校驗文件報文摘要的工具程序。通常來講,安裝了Linux後,就會有md5sum工具,能夠在命令行終端直接執行。shell
md5sum [OPTION]... [FILE]...安全
命令選項網絡
-b 或 --binary: 以二進制模式讀入文件;數據結構
-t 或 --text: 以文本文件模式讀入文件(默認);ide
-c 或 --check: 用來從文件中讀取md5信息檢查文件的一致性;工具
--status: 該選項與check一塊兒使用,在check時不輸出,根據返回值表示檢查結果;加密
-w 或 --warn: 在check時,檢查輸入的md5信息有沒有非法行,如有則輸出相應信息。spa
舉例:通常檢查文件內容是否被修改.net
[root@localhost shell]# ls -l
總用量 12
-rw-r--r--. 1 root root 7 10月 12 20:43 aa
-rw-r--r--. 1 root root 4 10月 12 20:42 bb
drwxr-xr-x. 2 root root 4096 10月 12 20:41 ding
把aa 中的文件用md5sum加密,放在ding 的目錄中
[root@localhost shell]# md5sum aa >ding/aa.md5
[root@localhost shell]# cat ./ding/aa.md5
f447b20a7fcbf53a5d5be013ea0b15af aa #發現aa中的內容被加密
改變 aa 中的內容,用md5sum 命令檢查文件是否被修改
[root@localhost shell]# md5sum -c ./ding/aa.md5
aa: 失敗
md5sum: 警告:1/1 生成的校驗和不匹配
**同時能夠追加多個文件進行加密
例如:
[root@localhost shell]# cat all.md5
ba1f2511fc30423bdbb183fe33f3dd0f aa
ba1f2511fc30423bdbb183fe33f3dd0f bb
特殊說明
1)md5sum是校驗文件內容,與文件名是否相同無關;
2)md5sum是逐位校驗,因此文件越大,校驗時間越長。
md5校驗,可能極小機率出現不一樣的文件生成相同的校驗和,比md5更安全的校驗算法還有SHA*系列,如sha1sum/sha224sum/sha256sum/sha384sum/sha512sum等等,基本用法與md5sum命令相似,詳情可經過man sha1sum查詢。