1. 程式人生 > >MD(Message Digest ) 訊息摘要演算法之MD5

MD(Message Digest ) 訊息摘要演算法之MD5

1、訊息摘要的簡介

     1.1訊息摘要的概念

              唯一對應一個訊息或文字的固定長度的值,由一個單向Hash加密函式對訊息進行作用而產生。

     1.2 訊息摘要的分類

            (1) MD (Message Digest)  訊息摘要演算法

            (2) SHA(Secure Hash Algorithm) 安全雜湊演算法

            (3) MAC(Message Authentication Code) 訊息認證碼演算法

     1.3  驗證資料完整性(防止在傳輸中被篡改)

2、MD算法系列

       2.1  MD演算法的基本概念

              為電腦保安領域廣泛使用的一種雜湊函式,用以提供訊息的完整性保護。

       2.2   MD演算法的種類

               MD算法系列(JDK)

 

 2.3  MD 演算法程式設計使用

 

3、MD5(Message Digest Algorithm 5)簡介

       MD5,全稱為“Message Digest Algorithm 5”,中文名“訊息摘要演算法第五版”,它是電腦保安領域廣泛使用的一種雜湊函式,用以提供訊息的完整性保護。嚴格來說,它是一種摘要演算法,是確保資訊完整性的。不過,在某種意義上來說,也可以算作一種加密演算法。

MD5 演算法具有很多特點:
壓縮性:任意長度的資料,算出的MD5值長度都是固定的。
容易計算:從原資料計算出MD5值很容易。
抗修改性:對原資料進行任何改動,哪怕只修改1個位元組,所得到的MD5值都有很大區別。
弱抗碰撞:已知原資料和其MD5值,想找到一個具有相同MD5值的資料(即偽造資料)是非常困難的。
強抗碰撞:想找到兩個不同的資料,使它們具有相同的MD5值,是非常困難的。

      MD5 的作用是讓大容量資訊在用數字簽名軟體簽署私人金鑰前被"壓縮"成一種保密的格式(就是把一個任意長度的位元組串變換成一定長的十六進位制數字串)。
       MD5 其實在我們生活中是很常用的,似乎你並沒有注意到,當你下載了一個映象之後,你會發現下載頁面還提供了一組 MD5 值,那麼這組 MD5 值是用來做什麼的呢?瞭解了 MD5 的作用之後,你就不難想到,MD5 是用來驗證檔案的一致性的,當你下載好映象之後,你需要對該映象做一次 MD5 的校驗,得到的 MD5 值與下載頁面提供的 MD5 值進行對比,以此來驗證該映象是否被篡改。
     MD5演算法,可以用來儲存使用者的密碼資訊。為了更好的儲存,可以在儲存的過程中,加入鹽。/在儲存使用者密碼的時候,鹽可以利用生成的隨機數。可以將密碼結合MD5加鹽,生成的資料摘要和鹽儲存起來 。以便於下次使用者驗證使用。在使用者表裡面,也儲存salt。
 

4、Java中MD5演算法的實現

     4.1 MD5Utils.java

文章原文:

https://blog.csdn.net/zbw18297786698/article/details/53584515#commentBox