spring boot 加入jsp自定义标签对get请求参数加密

本文介绍了如何在Spring Boot应用中结合JSP自定义标签来处理GET请求参数的加密与解密。首先,创建了一个加解密工具类AesUtils。接着,设置了一个过滤器,利用装饰模式对GET请求参数进行解密。然后,定义了一个继承自TagSupport的类作为自定义标签的处理器,并编写了对应的tld文件。最后,在JSP页面中使用自定义标签,实现了GET请求参数的自动解密并打印结果。
摘要由CSDN通过智能技术生成

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
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值