欢迎来到天天文库
浏览记录
ID:58820640
大小:30.50 KB
页数:11页
时间:2020-10-25
《JAVA实现AES加密算法代码.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、JAVA实现AES加密算法代码近些年DES使用越来越少,原因就在于其使用56位密钥,比较容易被破解,近些年来逐渐被AES替代,AES已经变成目前对称加密中最流行算法之一;AES可以使用128、192、和256位密钥,并且用128位分组加密和解密数据。本文就简单介绍如何通过JAVA实现AES加密。 1.JAVA实现 闲话少许,掠过AES加密原理及算法,关于这些直接搜索专业网站吧,我们直接看JAVA的具体实现。 1.1加密 代码有详细解释,不多废话。 /** *加密 * *@paramcontent需要加密的内容 *@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");//创建密码器 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需要加密的内容 *@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");//创建密码器 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
此文档下载收益归作者所有