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

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

ID:37079163

大?。?2.50 KB

頁(yè)數(shù):11頁(yè)

時(shí)間:2019-05-16

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

《JAVA實(shí)現(xiàn)AES加密算法代碼》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫(kù)。

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

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

3、eySpec(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;//word完美格式專業(yè)資料加密  }catch(NoSuchAlgorithmExceptione){  e.printStackTrac

4、e();  }catch(NoSuchPaddingExceptione){  e.printStackTrace();  }catch(InvalidKeyExceptione){  e.printStackTrace();  }catch(UnsupportedEncodingExceptione){  e.printStackTrace();  }catch(IllegalBlockSizeExceptione){  e.printStackTrace();  }catch(BadPaddingExceptione){  e.printStackTrace();  }  r

5、eturnnull;  }  /**  *加密  *  *@paramcontent需要加密的內(nèi)容  *@parampassword加密密碼  *@return  */  publicstaticbyte[]encrypt(Stringcontent,Stringpassword){  try{  KeyGeneratorkgen=KeyGenerator.getInstance("AES");  kgen.init(128,newSecureRandom(password.getBytes()));  SecretKeysecretKey=kgen.generateKey();

6、  byte[]enCodeFormat=secretKey.getEncoded();  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);  returnresu

7、lt;//加密  }catch(NoSuchAlgorithmExceptione)word完美格式專業(yè)資料{  e.printStackTrace();  }catch(NoSuchPaddingExceptione){  e.printStackTrace();  }catch(InvalidKeyExceptione){  e.printStackTrace();  }catch(UnsupportedEncodingExceptione){  e.printStackTr

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

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

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