基于参数处理和结果处理的拦截实现
添加依赖
<dependency>
<groupId>com.lmx</groupId>
<artifactId>common-util</artifactId>
<version>{lastVersion}</version>
</dependency>
bean配置
AesService aseService = new DefaultAesServiceImpl("base64编码并且长度=16的秘钥串")
@Bean
public ParameterInterceptor encAndDecryptFilter() {
return new ParameterInterceptor (aseService );
}
@Bean
public ResultInterceptor encAndDecryptFilter() {
return new ResultInterceptor (aseService );/
}
@Data
public class User implements Serializable {
..................
//声明该字段需要更新字段加密,查询自动解密
@EncDecrypt
private String qq;
}
灵活支持多种参数的写法:
User qryByQq(@EncDecrypt @Param("qq") String qq);
User qryByTel(@Param("obj") User user);
User qryByTel(User user);
便于SQL查询的加解密函数:
select to_base64(AES_ENCRYPT("285980382",from_base64("base64编码并且长度=16的秘钥串"))) a;
select AES_DECRYPT(from_base64("上一步的密文"),from_base64("base64编码并且长度=16的秘钥串")) ;