AES加密介紹以及如何用java實現?

AES是一個對稱分組密碼演算法,旨在取代DES成為廣泛使用的標準。根據使用的密碼長度,AES最常見的有3種方案,用以適應不同的場景要求,分別是AES-128、AES-192和AES-256。本文主要對AES-128進行介紹,另外兩種的思路基本一樣,只是輪數會適當增加。本篇將介紹如何使用java實現AES加、解密操作。

工具/原料

myeclipse2014

方法/步驟

首先我們需要自行安裝配置java開發環境,並安裝myeclipse軟體。然後開啟軟體在頂部導航處點選File,然後選擇New,然後選擇Java Project,進入建立java專案的視窗。具體操作如下圖所示。

AES加密介紹以及如何用java實現

然後我們在java專案建立介面,首先輸入專案名稱:AESJDKUtil,然後選擇JRE環境,本篇中選擇JDK7,選擇完畢後點擊Finish,完成java專案的建立。具體操作如下圖所示。

AES加密介紹以及如何用java實現

然後我們開啟專案,右擊專案src目錄,然後選擇New,然後選擇Class,進入建立java實體類介面。具體操作如下圖所示。

AES加密介紹以及如何用java實現

然後在建立實體類介面,首先我們填寫包名稱:com.util,然後填寫類名稱:AESUtil,然後勾選自動生成main函式。以上操作完畢後,點選Finish,完成實體類的建立。具體操作如下圖所示。

AES加密介紹以及如何用java實現

由於本專案中加密後的資訊為byte陣列,不便於輸出檢視,我們首先編寫將byte陣列轉化為16進位制字串輸出的函式,本篇中函式名稱為:convertByteToHexString。具體操作如下圖所示。

AES加密介紹以及如何用java實現

然後我們編寫實現AES加密的方法體,實現AES的加密主要使用了javax.crypto.Cipher的方法。本篇中實現方法名稱為:AESJDKEncode,需要傳入要加密的資訊以及金鑰兩個引數。具體程式碼實現如下圖所示。

AES加密介紹以及如何用java實現

然後我們編寫實現AES解密的方法體,實現解密操作同樣主要使用了javax.crypto.Cipher物件的方法,本篇中實現的方法名稱為:AESJDKDecode,需要傳入的引數為待解密的byte陣列,以及金鑰兩個引數。具體程式碼實現如下圖所示。

AES加密介紹以及如何用java實現

然後我們在主函式main函式內編寫測試方法,首先我們定義原始訊息為:Hello AES,然後定義加密金鑰為:12312312312312312,然後呼叫編寫好的加密/解密方法,同時將加密/解密後的結果輸出。具體程式碼實現如下圖所示。

AES加密介紹以及如何用java實現

最好我們執行程式,檢視加密/解密後的結果。可以看到經過加密/解密操作後,仍還原為:Hello AES。至此,本篇教程完成。

AES加密介紹以及如何用java實現

注意事項

以上是本人對AES加密的理解以及程式碼實現,如幫到大家本人非常高興。

相關問題答案