如何用Java進行3DES加密解密 java實現3des加密解密教程

3des,全稱為3DESede或TripleDES,中文解釋為是三重數據加密,用戶可以通過通過對DES算法進行改進,針對每個數據塊進行三次DES加密,下面小編為你帶來java實現3des加密解密教程
 

首先我們需要自行安裝配置java環境,并安裝編寫代碼軟件myeclipse2014。安裝完成后,打開軟件并點擊導航處的File菜單,然后選擇New,然后選擇Java Project,進入創建java項目窗口。具體操作如下圖所示。
 

創建java項目窗口圖
 

然后在創建項目窗口,我們輸入項目名稱:3DESJDKUtil,然后選擇JRE環境,本篇我們選擇為JDK7,選擇完畢后點擊Finish,完成java項目的創建。具體操作如下圖所示。
 

java項目的創建圖
 

然后打開項目,在項目src上右擊,選擇New,然后選擇Class,進入實體類創建窗口。具體操作如下圖所示。
 

實體類創建窗口圖
 

在實體類創建窗口,首先我們填寫包名稱,包名稱為:com.util,然后填寫類名稱,類名稱為:ThreeDESUtil,然后勾選自動生成main方法。以上操作完畢后,我們點擊Finish完成實體類的創建。具體操作如下圖所示。
 

Finish完成實體類的創建圖
 

由于本項目內會用到一其他方法,我們首先編寫將byte數組轉化為16進制字符串的方法,此方法主要便于查看加密后的結果信息。本篇中方法名稱為:convertByteToHexString,需要傳入參數為byte數組,返回為String類型,具體實現如下圖所示。
 

返回為String類型圖
 

然后我們編寫生成密鑰的方法,3DES要求字節數組的密鑰長度為24位,本篇中我們編寫方法名稱為:build3DesKey,傳入參數為我們設定的密鑰字符串,返回信息為長度為24為的字節數組。具體代碼實現如下圖所示。
 

密鑰字符串圖
 

然后我們編寫加密方法,加密方法主要利用了Cipher類,本篇中方法名稱為:ThreeDESEconde,返回結果為加密后的byte數組。具體代碼實現如下圖代碼所示。
 

ThreeDESEconde圖
 

然后我們編寫解密方法,解密方法同加密方法一樣同樣使用了Cipher類。本篇中方法名稱為:ThreeDESDecode,返回結果為解密后的byte數組。
 

最后我們在主函數內,編寫測試寫好的加密/解密方法。我們首先定義原始消息為:hello 3des,定義密鑰為:12312312312312312312312312312312。然后分別調用加密/解密方法。并且輸出加密后以及解密后的結果信息。具體實現如下圖所示。
 

調用加密解密方法
 

然后我們運行程度,可以看到原始消息經過加密解密后,仍還原為原始消息,至此3DES加密/解密基本教程完成。

網友評論
圖文推薦
  • todesk和anydesk哪個好用 兩者之間功能比較

    todesk和anydesk都是目前市面上主流的遠程控制軟件,那么對于很多人第一次選擇,應該如何去選擇,哪一款在遠程的時候,會更加流暢呢?下面就通過這篇文章給大家介紹一下,相信對你會有所幫助。

  • 向日葵遠程控制和anydesk哪個好用 兩者之間的區別

    anydesk和向日葵遠程控制都是目前市面上主流的遠程控制軟件,那么對于很多人第一次選擇,應該如何去選擇,哪一款在遠程的時候,會更加流暢呢?下面就通過這篇文章給大家介紹一下,相信對你會有所幫助。

  • Steam糖豆人終極淘汰賽加速器哪個好 下面這幾個讓你順暢游戲

    鑒于糖豆人終極淘汰賽游戲服務器異常的火爆,想要順利的在游戲中保持穩定的網絡那就必須借助加速器的力量,那么下面的這幾款專門為Steam糖豆人優化的游戲加速器可以了解下哦。

  • 向日葵遠程控制軟件和Teamviewer哪個好用 哪個更順暢

    向日葵和Teamviewer都是目前市面上主流的遠程控制軟件,那么對于很多人第一次選擇,應該如何去選擇,哪一款在遠程的時候,會更加流暢呢?下面就通過這篇文章給大家介紹一下,相信對你會有所幫助。

  • 懷舊服EUI怎么調姓名版 設置血條的方法

    隨著魔獸世界懷舊服的開啟,大家都會選擇一款插件作為自己征戰艾澤拉斯的“利器”,而EUI就是眾多插件中的佼佼者,小編了解到很多EUI的使用者不知道怎么調姓名版,如果你還不知道具體的操作方法,就趕快來看看下面的教程吧!