淺談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
- 由其原理可知,產生的校正碼相同的機率,微乎其微。
Java實現MD5加密解密類
Java項目中用到的MD5加密
Linux下MD5sum 校正檔案完整性
使用OpenSSL的MD5計算功能
Linux下計算檔案的MD5值
本文永久更新連結地址: