淺談MD5及簡單使用
原理簡介:
MD5即Message-Digest Algorithm 5(資訊-摘要演算法 第5版),用於確保資訊傳輸完整一致。是計算機廣泛使用的雜湊演算法之一(又名:摘要演算法、雜湊演算法),主流程式語言普遍已由MD5實現。將資料運算為另一固定長度值(十六進位制的話:32位),是雜湊演算法的基礎原理,MD5的前身有MD2、MD3和MD4。
MD5的作用是讓大容量資訊在用數字簽名軟體簽署私人金鑰前被"壓縮"成一種保密的格式(就是把一個任意長度的位元組串變換成一定長的十六進位制數字串)。除了MD5以外,其中比較有名的還有sha-1、RIPEMD以及Haval等。
對MD5演算法簡要的敘述可以為:MD5以512位分組來處理輸入的資訊,且每一分組又被劃分為16個32位子分組,經過了一系列的處理後,演算法的輸出由四個32位分組組成,將這四個32位分組級聯後將生成一個128位雜湊值。
演算法示意圖:
使用簡介
# touch test1.txt test2.txt //-->建測試用空檔案
# ls -lart
total 8
drwxr-xr-x 5 root root 4096 Aug 5 14:46 ..
-rw-r--r-- 1 root root 0 Aug 5 14:48 test2.txt
-rw-r--r-- 1 root root 0 Aug 5 14:48 test1.txt
drwxr-xr-x 2 root root 4096 Aug 5 14:48 .
# md5sum test*.txt > test.md5 //-->將檔案系列生成的md5檔案,放到test.md5
# cat test.md5
d41d8cd98f00b204e9800998ecf8427e test1.txt
d41d8cd98f00b204e9800998ecf8427e test2.txt
# echo 'hello' >> test1.txt //-->修改其中一個檔案
# md5sum -c test.md5 //-->用md5sum命令加-c引數校驗
test1.txt: FAILED
test2.txt: OK
md5sum: WARNING: 1 of 2 computed checksums did NOT match
NOTE:
- 儘管sha1sum演算法及原理跟md5sum不一樣,命令使用幾乎一樣。man sha1sum; man md5sum
- 由其原理可知,生成的校驗碼相同的概率,微乎其微。