如何用Java進(jìn)行3DES加密解密 java實(shí)現(xiàn)3des加密解密教程

3des,全稱為3DESede或TripleDES,中文解釋為是三重?cái)?shù)據(jù)加密,用戶可以通過(guò)通過(guò)對(duì)DES算法進(jìn)行改進(jìn),針對(duì)每個(gè)數(shù)據(jù)塊進(jìn)行三次DES加密,下面小編為你帶來(lái)java實(shí)現(xiàn)3des加密解密教程
 

首先我們需要自行安裝配置java環(huán)境,并安裝編寫代碼軟件myeclipse2014。安裝完成后,打開(kāi)軟件并點(diǎn)擊導(dǎo)航處的File菜單,然后選擇New,然后選擇Java Project,進(jìn)入創(chuàng)建java項(xiàng)目窗口。具體操作如下圖所示。
 

創(chuàng)建java項(xiàng)目窗口圖
 

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

java項(xiàng)目的創(chuàng)建圖
 

然后打開(kāi)項(xiàng)目,在項(xiàng)目src上右擊,選擇New,然后選擇Class,進(jìn)入實(shí)體類創(chuàng)建窗口。具體操作如下圖所示。
 

實(shí)體類創(chuàng)建窗口圖
 

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

Finish完成實(shí)體類的創(chuàng)建圖
 

由于本項(xiàng)目?jī)?nèi)會(huì)用到一其他方法,我們首先編寫將byte數(shù)組轉(zhuǎn)化為16進(jìn)制字符串的方法,此方法主要便于查看加密后的結(jié)果信息。本篇中方法名稱為:convertByteToHexString,需要傳入?yún)?shù)為byte數(shù)組,返回為String類型,具體實(shí)現(xiàn)如下圖所示。
 

返回為String類型圖
 

然后我們編寫生成密鑰的方法,3DES要求字節(jié)數(shù)組的密鑰長(zhǎng)度為24位,本篇中我們編寫方法名稱為:build3DesKey,傳入?yún)?shù)為我們?cè)O(shè)定的密鑰字符串,返回信息為長(zhǎng)度為24為的字節(jié)數(shù)組。具體代碼實(shí)現(xiàn)如下圖所示。
 

密鑰字符串圖
 

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

ThreeDESEconde圖
 

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

最后我們?cè)谥骱瘮?shù)內(nèi),編寫測(cè)試寫好的加密/解密方法。我們首先定義原始消息為:hello 3des,定義密鑰為:12312312312312312312312312312312。然后分別調(diào)用加密/解密方法。并且輸出加密后以及解密后的結(jié)果信息。具體實(shí)現(xiàn)如下圖所示。
 

調(diào)用加密解密方法
 

然后我們運(yùn)行程度,可以看到原始消息經(jīng)過(guò)加密解密后,仍還原為原始消息,至此3DES加密/解密基本教程完成。

網(wǎng)友評(píng)論
圖文推薦
  • todesk和anydesk哪個(gè)好用 兩者之間功能比較

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

  • 向日葵遠(yuǎn)程控制和anydesk哪個(gè)好用 兩者之間的區(qū)別

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

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

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

  • 向日葵遠(yuǎn)程控制軟件和Teamviewer哪個(gè)好用 哪個(gè)更順暢

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

  • 懷舊服EUI怎么調(diào)姓名版 設(shè)置血條的方法

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