資源描述:
《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