我是靠谱客的博主 踏实红酒,这篇文章主要介绍java aes 解压_Java-AES加密解密,现在分享给大家,希望可以做个参考。

packagecom.jy.demo.web;importjava.security.Provider;importjava.security.SecureRandom;importjava.security.Security;importjava.util.Arrays;importjavax.crypto.Cipher;importjavax.crypto.KeyGenerator;importjavax.crypto.SecretKey;importjavax.crypto.spec.IvParameterSpec;importjavax.crypto.spec.SecretKeySpec;importorg.apache.commons.codec.binary.Base64;importorg.slf4j.Logger;importorg.slf4j.LoggerFactory;public classAESUtils{public static final String IV = "2015030120123456";private static final Logger logger = LoggerFactory.getLogger(AESUtils.class);public static byte[] aesEncrypt(String content, String pkey)

{try{

SecretKeySpec key= new SecretKeySpec(pkey.getBytes(), "AES");

Cipher cipher= Cipher.getInstance("AES/CBC/PKCS5Padding");

IvParameterSpec iv= new IvParameterSpec("2015030120123456".getBytes());

cipher.init(1, key, iv);return cipher.doFinal(content.getBytes("UTF-8"));

}catch(Exception e) {

e.printStackTrace();

}return null;

}private staticSecretKey generateKey(String secretKey)throwsException

{

Provider p= Security.getProvider("SUN");

SecureRandom secureRandom= SecureRandom.getInstance("SHA1PRNG", p);

secureRandom.setSeed(secretKey.getBytes());

KeyGenerator kg= KeyGenerator.getInstance("AES");

kg.init(secureRandom);returnkg.generateKey();

}public staticString aesEncryptStr(String content, String pkey)

{byte[] aesEncrypt =aesEncrypt(content, pkey);

logger.debug("aesEncrypt String:" +Arrays.toString(aesEncrypt));

String base64EncodeStr=Base64.encodeBase64String(aesEncrypt);

logger.debug("aesEncrypt base64EncodeStr:" +base64EncodeStr);returnbase64EncodeStr;

}public staticString aesDecodeStr(String content, String pkey)throwsException

{byte[] base64DecodeStr =Base64.decodeBase64(content);

logger.debug("base64DecodeStr String:" +Arrays.toString(base64DecodeStr));byte[] aesDecode =aesDecode(base64DecodeStr, pkey);if (aesDecode == null) {return null;

}

String result= new String(aesDecode, "UTF-8");

logger.debug("aesDecode result:" +result);returnresult;

}public static byte[] aesDecode(byte[] content, String pkey)

{try{

SecretKeySpec key= new SecretKeySpec(pkey.getBytes(), "AES");

IvParameterSpec iv= new IvParameterSpec("2015030120123456".getBytes("UTF-8"));

Cipher cipher= Cipher.getInstance("AES/CBC/PKCS5Padding");

cipher.init(2, key, iv);returncipher.doFinal(content);

}catch(Exception e) {

e.printStackTrace();

}return null;

}public static void main(String[] args) throwsException {

System.out.println( AESUtils.aesEncryptStr("123456", "abcdnnnnnn123456"));//根据key加密

System.out.println( AESUtils.aesDecodeStr("i/urUHvLlepO+NWthBU7AA==", "abcdnnnnnn123456"));//根据加密后密码还有加密key解密

}

}

最后

以上就是踏实红酒最近收集整理的关于java aes 解压_Java-AES加密解密的全部内容,更多相关java内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部