欢迎来到天天文库
浏览记录
ID:37079163
大小:42.50 KB
页数:11页
时间:2019-05-16
《JAVA实现AES加密算法代码》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、专业资料JAVA实现AES加密算法代码近些年DES使用越来越少,原因就在于其使用56位密钥,比较容易被破解,近些年来逐渐被AES替代,AES已经变成目前对称加密中最流行算法之一;AES可以使用128、192、和256位密钥,并且用128位分组加密和解密数据。本文就简单介绍如何通过JAVA实现AES加密。 1.JAVA实现 闲话少许,掠过AES加密原理及算法,关于这些直接搜索专业网站吧,我们直接看JAVA的具体实现。 1.1加密 代码有详细解释,不多废话。 /** *加密 * *@paramcontent需要加密的内容 *@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");//创建密码器 byte[]byteContent=content.getBytes("utf-8"); cipher.init(Cipher.ENCRYPT_MODE,key);//初始化 byte[]result=cipher.doFinal(byteContent); returnresult;//word完美格式专业资料加密 }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需要加密的内容 *@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");//创建密码器 byte[]byteContent=content.getBytes("utf-8"); cipher.init(Cipher.ENCRYPT_MODE,key);//初始化 byte[]result=cipher.doFinal(byteContent); returnresu
7、lt;//加密 }catch(NoSuchAlgorithmExceptione)word完美格式专业资料{ e.printStackTrace(); }catch(NoSuchPaddingExceptione){ e.printStackTrace(); }catch(InvalidKeyExceptione){ e.printStackTrace(); }catch(UnsupportedEncodingExceptione){ e.printStackTr
此文档下载收益归作者所有