Mybatis插件对指定字段加解密

1、需求环境:

在整个项目都结束之后,甲方希望库表内所有涉及到电话号码、详细地址、身份证号码、用户姓名等特殊数据进行加密;
在项目已经基本完结的情况下要多这么多表字段进行加密,且不能影响代码内的正常运行,无疑在数据协调上是个非常复杂的问题;

2、需求拆分

1、特殊数据存量加密存储
2、特殊数据增量加密存储
3、特殊数据解密使用
4、对存量数据加密,支持自定义表及表字段
5、最大程度上减少修改原代码

3、代码实现 (懒得去除敏感信息了,先说明以下全是截图无代码)

对存量数据

整体逻辑

在这里插入图片描述
这里run方法还能用线程再优化优化,因为存量数据加密大概率是只使用一次,数据量也不大就不搞那么炫酷了

表及表字段配置

在这里插入图片描述
在这里插入图片描述

顺序获取表及表字段数据

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

加密(排除主键),使用对称加密方式

在这里插入图片描述

加解密工具类

在这里插入图片描述
在这里插入图片描述

手动提交事务

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

对增量数据

代码结构,关键就是plugin下的参数加密插件和结果解密插件

在这里插入图片描述

注解

在这里插入图片描述
在这里插入图片描述

mybatis插件配置

在这里插入图片描述

AES配置

在这里插入图片描述

DataConfig

在这里插入图片描述

参数加密插件

在这里插入图片描述

结果解密插件

在这里插入图片描述

使用

在这里插入图片描述

	mybatis插件的方式也并不是完全适用,,代码中总会有一些sql并不完全使用对象来充当参数或返回结果,因此具体情况还需具体处理
	需要使用工具类加解密的地方还是得手动地去处理,,这种后期再添加的数据脱敏,过程繁琐且工作量庞大,对数据和功能的影响还是特别大的
  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值