public class AESUtil {
/**
* 密钥算法
*/
private static final String ALGORITHM = "AES";
/**
* 加解密算法/工作模式/填充模式
*/
private static final String ALGORITHM_MODE_PADDING = "AES/ECB/PKCS5Padding";
/**
* 生成key
*/
private static SecretKeySpec key = new SecretKeySpec("3d6ecd1d264b7224686af2c0a73f8d9c".getBytes(), ALGORITHM);
/**
* AES加密
*
* @param data
* @return
* @throws Exception
*/
public static String encryptData(String data) throws Exception {
// 创建密码器
Cipher cipher = Cipher.getInstance(ALGORITHM_MODE_PADDING);
// 初始化
cipher.init(Cipher.ENCRYPT_MODE, key);
return new String(Base64.encode(cipher.doFinal(data.getBytes());
}
static SecretKey secretKey;
/**
* AES解密
*
* @param data 待解密的数据
* @param keyMd5 解密的key
* @return
* @throws Exception
*/
public static String decryptData(String data,String keyMd5) throws Exception {
Cipher cipher = Cipher.getInstance(ALGORITHM_MODE_PADDING);
secretKey = new SecretKeySpec(keyMd5.getBytes("utf-8"), "AES");
cipher.init(Cipher.DECRYPT_MODE, secretKey);////使用解密模式初始化 密钥
java.util.Base64.Decoder base64 = java.util.Base64.getDecoder();
byte[] decrypt = cipher.doFinal(base64.decode(data));
return new String(decrypt, "utf-8");
}
public static void main(String[] args) throws Exception {
String data = "73nx/039xYO9CcQE7b9dexbQ1WciyPr2hRYXVnTJ1jRnCsNQxnG/2m18IQtEDeJ99XFvvz1UPdOYf0G10d3oBHKQGJp0BHTfbDOF ATFST3kJEyQzcaB/0cRtBxHH/6Den7sElBujMsPKNbRdYgelm8zN YfZ aK6FPoM4jvRhQmcD6AoyEBOeaxjvvL0K3AK29qGFd6qzJDXOVnCcoNich K/9QyXRjS/V6h/0vNi4Z6U/31ev8kJneWN3b8w Wrmc8I1ckUhEXChvgguR1K8p/0oXB38lBUZvNlq6AygGqWpOPT31cstxf0Af341DKA47EhutJ 8SZGlk/RQcs7u lWo9IRXTwUqnCWADY/zv057Py6M6v/yeQy5nJpdHaSuV6l4t6Hgvk924XsC4UDZDoR VsTNcZWNcdGHev295Z6 acuvAMl2py23t Crovcxa62xEJ0noZIn57X0CzfNtLjoKf7KueA9lBslKz/hXmqRvX8dDdDn3NFLAWVLYcVplVEIXJtqiDBN7xMntbHTWYzBTiT9 K83yUssn5ZRe3lst4HiUOuy85AqJ8AHNQ jxbLv1pqmDFVPYVlvWlDNCj70wL8Quk0lnJxb1mybolcIWAe5uGHuRZrRA1duVhFmTjrGLVT9faMRizZjTjSY9zO/gasYQKG/8I/YfoFtOkjIN2gMIO78TOe/ JnXDwvFTuoj3mMPWTqWvNzILysN8wGdB85vGawkjMbPqlNee uigwXkSzJsv2 BwZEzuOPB6EREwQ7O0Hv116p 0G7Emgv5yHrypuZmjZXfNFgpAgbRLp9WEQ0f/6356oUpXeLrT4QRoAIliSZYON7sw9YRz2NRpq/LheyegnodI8LWa0C1K9jdfULg3G0AXf 1NRVUXueqxNSsptAX1WjsTFVJ/PS4mvtZ yY0DVOUAhWjvHx2AqZjPTeuoXoH3KPQgUgSlGAhtNKIMAWpMM Kik2mEc8EnTgYqQZzPhH3oY6CiqeSV5Ey0HBUI5Iey9IFKgTLpfE4m4ENA4tMbxzGDR7w==";
String keyMd5 = "3d6ecd1d264b7d04686af2c0173f8d9c";
System.out.println(decryptData(data,keyMd5));
}
}