源码请戳这里  

   基于参数处理和结果处理的拦截实现

  添加依赖

    <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的秘钥串")) ;
04-29 16:25