spring boot JSP自定义标签的开发和使用
1、自定义一个加解密工具类AesUtils
/**
* 加密请求参数
* @author: Alan Fu
*/
public class AesUtils {
private static final String CIPHER_ALGORITHM = "AES/ECB/PKCS5Padding";
/**加密方式*/
private static final String KEY_ALGORITHM = "AES";
/**字符编码*/
private static final String ENCODING = "utf-8";
/**密钥*/
private static final String KEY = "$1$jXJ0a/At$BJy.";
private static Logger LOGGER = LoggerFactory.getLogger(AesUtils.class);
/**
* 加密
* @param content
* @return
*/
public static String valueEncrypt(String value) {
try {
return URLEncoder.encode(AesUtils.encrypt(value), ENCODING);
} catch (Exception e) {
return value;
}
}
/**
* 解密
* @param content
* @return
*/
public static String valueDecrypt(String content) {
try {
String text = decrypt(content);
return StringUtils.isEmpty(text) ? content : text;
} catch (Exception e) {
return content;
}
}
/**
* 加密方式--这种加密方式有两种限制
* 1、密钥必须是16位的
* 2、待加密内容的长度必须是16的倍数,如果不是16的倍数,就会出现异常
*/
public static String encrypt(String content) {
SecretKeySpec keySpec = new SecretKeySpec(KEY.getBytes(), KEY_ALGORITHM);
Cipher cipher;
try {
//Cipher对象实际完成解密操作
cipher = Cipher.getInstance(CIPHER_ALGORITHM);
//用密钥加密明文(plainText),生成密文(cipherText)
cipher.init(Cipher.ENCRYPT_MODE, keySpec);// 初始化
//得到加密后的字节数组
byte[] result = cipher.doFinal(content