脱敏数据查询--两种方式

793 阅读1分钟

1.需求

业务场景:对订单列表进行条件查询,并且可以对收货人姓名进行模糊查询 image.png

2.分析

2.1 业务场景分析

使用人员可以根据收货人姓名进行模糊搜索,查询某个姓名相关的订单。

2.2 技术分析

数据安全低:姓名在数据库保存的是明文,如张三,则保存的就是张三,实现对收货人姓名进行模糊查询,完全没有问题。

image.png 数据安全高:姓名在数据库保存的是密文,如战三,则保存的就是b0ca84c5c65b5026ce0decff126d008f,则无法实现对收货人姓名进行模糊查询。

image.png

image.png

image.png

2.3 分析结果

在经过数据安全性和业务功能的使用场景和频率之间的权衡后,我们最后选择了数据安全性高的方案,即保存密文,只能进行精确查询。

3.解决

3.1 直接在Mapper.xml中调用java方法

image.png

3.2 在java代码中转换成密文

image.png

image.png

4.总结

4.1 在数据库保存为密文的数据,只能做精确查询。

4.2 对密文查询的方式有两种