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項目介面。
(03)然後在項目創建介面輸入本次測試所用的項目名稱:MdJDKUtil,選擇JRE環境本篇選擇爲1.7,選擇完畢後點擊Finish。完成項目的創建。
(04)然後右擊項目,選擇new,然後選擇class。進入創建實體類介面。具體操作如下圖所示。
(05)然後在新建類介面,輸入本次用的包名稱:,類名稱爲:md5JdkUtil,勾選自動生成main函數。以上資訊填寫完畢後,點擊Finish,完成實體類的創建。具體操作如下圖所示。
(06)由於本篇中md加密後的資訊最終以16進制輸出,因此我們首先編寫byte數組轉換爲16進制並以字元串形式展現。首先我們創建方法名稱:convertByteToHexString,此方法要一個傳入參數爲byte數組,並最終返回String類型。具體代碼實現如下圖所示。
(07)然後我們編寫md2加密算法的實現。方法名稱爲:md2Jdk,此方法需要傳入一個參數String(原始資訊),返回爲String(加密後資訊)。此方法內加密核心主要利用了jdk自帶的MessageDigest類,此類位於:rity包下。具體實現代碼如下圖所示。
(08)然後我們編寫md5加密算法實現。方法名稱爲:md5Jdk,同樣需要傳入一個參數String(原始資訊),返回爲String(加密後資訊)。此方法的核心方法同md2一樣也是利用了MessageDigest類的方法。具體實現如下圖所示。
(09)下面我們編寫測試類。在main函數內調用寫好的兩個加密方法:md2Jdk,md5Jdk。傳入相同的參數hello jdk md。分佈對加密後的資訊進行輸出。具體實現代碼如下圖所示。
(10)最後我們執行程序檢視結果。可以看到md2以及md5加密算法的結果,加密後資訊長度都爲32位16進制。由於此方法不可逆,因此沒有解密方法。具體效果如下圖。
特別提示
md類加密算法不可逆,經常用於資訊完整性的校驗,以及用戶敏感資訊的存儲。
-
旅遊景區網站建設規劃方案
現在,隨着互聯網的興起,很多傳統線下的交易都漸漸轉移到線上來,從日常生活用品、食品、服裝到在線訂票等虛擬產品服務。據報告顯示,2016年我國在線度假市場交易規模達到962.9億元,景區網絡購票市場規模爲137.4億元,隨着全民旅遊時代的到來以及景區的互聯網化,未來在線...
-
linux怎麼解壓zip包
linux怎麼解壓zip包,在linux中,解壓ZIP壓縮包,是相對容易的,使用unzip命令即可操作方法(01)連接到linux遠程主機,並進入zip檔案所在目錄(02)使用LS命令列出目錄中檔案,確認zip檔案的全稱(03)使用unzip命令解壓zip壓縮包(04)inflating,看到該單詞,表明ZIP解壓縮成功了(05)如果不放...
-
爲什麼qq老掉線/QQ自動掉線原因與解決方法
最近有朋友問爲什麼我的QQ老掉線,提示說和服務器連接失敗,以前都沒這種事的,也不知道是從什麼時候開始就老愛掉線了,而且是時好時掉線的,根據網上的一番收集與調查,總結出了以下QQ自動掉線所導致的原因與解決方法,以下一起來看看怎麼解決qq自動掉線的故障吧!QQ自動掉線...
-
godaddy域名解析教程
發現還有很多朋友對godaddy控制面板不熟悉,一些很簡單的方法站長還不會操作,下面一步步講述godaddy域名解析的方法。步驟/方法(01)進入godaddy官網,登入,點擊主選單MyAccount,(可選:然後點擊子選單MyProducts):(02)進入godaddymyaccount帳戶後點擊左邊欄Domainmanager,進入d...