JAVA實(shí)現(xiàn)AES加密算法代碼.doc

JAVA實(shí)現(xiàn)AES加密算法代碼.doc

ID:58820640

大?。?0.50 KB

頁數(shù):11頁

時間:2020-10-25

JAVA實(shí)現(xiàn)AES加密算法代碼.doc_第1頁
JAVA實(shí)現(xiàn)AES加密算法代碼.doc_第2頁
JAVA實(shí)現(xiàn)AES加密算法代碼.doc_第3頁
JAVA實(shí)現(xiàn)AES加密算法代碼.doc_第4頁
JAVA實(shí)現(xiàn)AES加密算法代碼.doc_第5頁
資源描述:

《JAVA實(shí)現(xiàn)AES加密算法代碼.doc》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、JAVA實(shí)現(xiàn)AES加密算法代碼近些年DES使用越來越少,原因就在于其使用56位密鑰,比較容易被破解,近些年來逐漸被AES替代,AES已經(jīng)變成目前對稱加密中最流行算法之一;AES可以使用128、192、和256位密鑰,并且用128位分組加密和解密數(shù)據(jù)。本文就簡單介紹如何通過JAVA實(shí)現(xiàn)AES加密?! ?.JAVA實(shí)現(xiàn)  閑話少許,掠過AES加密原理及算法,關(guān)于這些直接搜索專業(yè)網(wǎng)站吧,我們直接看JAVA的具體實(shí)現(xiàn)?! ?.1加密  代碼有詳細(xì)解釋,不多廢話?! ?**  *加密  *  *@paramcontent需要加密的內(nèi)容  *@parampas

2、sword加密密碼  *@return  */  publicstaticbyte[]encrypt(Stringcontent,Stringpassword){  try{  KeyGeneratorkgen=KeyGenerator.getInstance("AES");  kgen.init(128,newSecureRandom(password.getBytes()));  SecretKeysecretKey=kgen.generateKey();  byte[]enCodeFormat=secretKey.getEncoded(); 

3、 SecretKeySpeckey=newSecretKeySpec(enCodeFormat,"AES");  Ciphercipher=Cipher.getInstance("AES");//創(chuàng)建密碼器  byte[]byteContent=content.getBytes("utf-8");  cipher.init(Cipher.ENCRYPT_MODE,key);//初始化  byte[]result=cipher.doFinal(byteContent);  returnresult;//加密  }catch(NoSuchAlgorit

4、hmExceptione){  e.printStackTrace();  }catch(NoSuchPaddingExceptione){  e.printStackTrace();  }catch(InvalidKeyExceptione){  e.printStackTrace();  }catch(UnsupportedEncodingExceptione){  e.printStackTrace();  }catch(IllegalBlockSizeExceptione){  e.printStackTrace();  }catch(Ba

5、dPaddingExceptione){  e.printStackTrace();  }  returnnull;  }  /**  *加密  *  *@paramcontent需要加密的內(nèi)容  *@parampassword加密密碼  *@return  */  publicstaticbyte[]encrypt(Stringcontent,Stringpassword){  try{  KeyGeneratorkgen=KeyGenerator.getInstance("AES");  kgen.init(128,newSecureRando

6、m(password.getBytes()));  SecretKeysecretKey=kgen.generateKey();  byte[]enCodeFormat=secretKey.getEncoded();  SecretKeySpeckey=newSecretKeySpec(enCodeFormat,"AES");  Ciphercipher=Cipher.getInstance("AES");//創(chuàng)建密碼器  byte[]byteContent=content.getBytes("utf-8");  cipher.init(Ciphe

7、r.ENCRYPT_MODE,key);//初始化  byte[]result=cipher.doFinal(byteContent);  returnresult;//加密  }catch(NoSuchAlgorithmExceptione){  e.printStackTrace();  }catch(NoSuchPaddingExceptione){  e.printStackTrace();  }catch(InvalidKeyExceptione){  e.printStackTrace();  }catch(UnsupportedEnc

8、odingExceptione){  e.printStackTrace();  }catch(IllegalBlockS

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。