歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 淺談MD5及簡單使用

淺談MD5及簡單使用

日期:2017/2/28 14:29:12   编辑:Linux教程

原理簡介:

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加密解密類 http://www.linuxidc.com/Linux/2014-06/102732.htm

Java項目中用到的MD5加密 http://www.linuxidc.com/Linux/2014-03/98747.htm

Linux下MD5sum 校驗文件完整性 http://www.linuxidc.com/Linux/2014-03/98416.htm

使用OpenSSL的MD5計算功能 http://www.linuxidc.com/Linux/2013-10/91119.htm

Linux下計算文件的MD5值 http://www.linuxidc.com/Linux/2012-11/74902.htm

Copyright © Linux教程網 All Rights Reserved