数据库密文存储-mybatis自动加解密插件

因为涉及到个人隐私信息的字段防止泄露,首要任务就是加密,所以需要在源头-数据库直接加密存储。

   源码请戳这里  

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

  添加依赖

    <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的秘钥串")) ;

    使用上述sql和秘钥进行刷库即可,符合开箱即用
    
    

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值