當前位置:妙知谷 >

遊戲數碼 >互聯網 >

md5加密算法介紹以及java實現md5加密算法

md5加密算法介紹以及java實現md5加密算法

我們平時做網站設計時候在用户名密碼處,密碼經常採用md5加密方式,這樣即便數據庫被其他人弄走仍然能保障下用户的隱私。本篇就簡單介紹下md5加密算法以及用一個java實例實現md5加密。

操作方法

(01)MD5算法是典型的消息摘要算法,其前身有MD2、MD3和MD4算法,它由MD4、MD3和MD2算法改進而來。不論是哪一種MD加密算法,它們都需要獲得一個隨機長度的信息併產生一個128位的信息摘要。如果將這個128位的二進制摘要信息換算成十六進制,可以得到一個32位的字符串,因此我們加密完成後的16進制的字符串長度為32位。

(02)下面我們將通過java代碼來實現md的加密代碼並進行測試。jdk自身所帶的支持md2以及md5的加密實現。本篇都將介紹如何編寫。首先我們在myeclipse首頁導航菜單處點擊File,然後選擇new,然後選擇Java Project。進入創建java項目界面。

md5加密算法介紹以及java實現md5加密算法

(03)然後在項目創建界面輸入本次測試所用的項目名稱:MdJDKUtil,選擇JRE環境本篇選擇為1.7,選擇完畢後點擊Finish。完成項目的創建。

md5加密算法介紹以及java實現md5加密算法 第2張

(04)然後右擊項目,選擇new,然後選擇class。進入創建實體類界面。具體操作如下圖所示。

(05)然後在新建類界面,輸入本次用的包名稱:,類名稱為:md5JdkUtil,勾選自動生成main函數。以上信息填寫完畢後,點擊Finish,完成實體類的創建。具體操作如下圖所示。

md5加密算法介紹以及java實現md5加密算法 第3張

(06)由於本篇中md加密後的信息最終以16進制輸出,因此我們首先編寫byte數組轉換為16進制並以字符串形式展現。首先我們創建方法名稱:convertByteToHexString,此方法要一個傳入參數為byte數組,並最終返回String類型。具體代碼實現如下圖所示。

md5加密算法介紹以及java實現md5加密算法 第4張

(07)然後我們編寫md2加密算法的實現。方法名稱為:md2Jdk,此方法需要傳入一個參數String(原始信息),返回為String(加密後信息)。此方法內加密核心主要利用了jdk自帶的MessageDigest類,此類位於:rity包下。具體實現代碼如下圖所示。

md5加密算法介紹以及java實現md5加密算法 第5張

(08)然後我們編寫md5加密算法實現。方法名稱為:md5Jdk,同樣需要傳入一個參數String(原始信息),返回為String(加密後信息)。此方法的核心方法同md2一樣也是利用了MessageDigest類的方法。具體實現如下圖所示。

md5加密算法介紹以及java實現md5加密算法 第6張

(09)下面我們編寫測試類。在main函數內調用寫好的兩個加密方法:md2Jdk,md5Jdk。傳入相同的參數hello jdk md。分佈對加密後的信息進行輸出。具體實現代碼如下圖所示。

md5加密算法介紹以及java實現md5加密算法 第7張

(10)最後我們運行程序查看結果。可以看到md2以及md5加密算法的結果,加密後信息長度都為32位16進制。由於此方法不可逆,因此沒有解密方法。具體效果如下圖。

md5加密算法介紹以及java實現md5加密算法 第8張

特別提示

md類加密算法不可逆,經常用於信息完整性的校驗,以及用户敏感信息的存儲。

標籤: 加密算法 MD5 JAVA
  • 文章版權屬於文章作者所有,轉載請註明 https://miaozhigu.com/sm/hulianwang/r82mx2.html