几天前使用了Jackson对数据的自定义序列化.突发灵感,利用此方法来简单实现接口返回数据脱敏,故写此文记录. 核心思想是利用Jackson的StdSerializer,@JsonSerialize,以及自己实现的数据脱敏过程. 使用效果如下: 首先在需要进行脱敏的VO字段上面标注相关脱敏注解 调用接口即可看到脱敏效果 实现过程如下: 1. 定义脱敏的过程实现 /** * Created by EalenXie on 2021/9/24 15:52 * 顶级的脱敏器 */ public inte
select * from test 格式:INSERT(str,pos,len,newstr) 解释: str:查询的例 pos:起始位置 len:从起始位置开始被后面newstr替换的长度 newstr:需要被替换的字符串 例: 后四位脱敏(将身份证号码从15位开始,替换4位为****) ,4,'****') as '身份证号' from test 中间6位脱敏(从第7位开始,替换6位) ,,'****') as 'id_number' from test
在数据库中难免会遇到需要对数据进行脱敏的操作,无论是姓名,还是身份证号. 最近遇到一个需求,需要对姓名进行脱敏: 姓名长度为2,替换为姓+*: 姓名长度为3,替换中间字符为*: 姓名长度为4,替换第3个字符为*: 经过一番搜索之后,最终找到了3种方式的实现,具体如下. 一.先查找,再替换 ,),'*') as name from dual; 注意:此种方法通过对第2个字符进行替换,如果名字为叠名,则会发生上述误替换情况: 二.拼接 ,),) as name from dual; 三.使用rege