
回复
大家好,我是不才陈某~
通常接口返回值中的一些敏感数据也是要脱敏的,比如身份证号、手机号码、地址.....通常的手段就是用*
隐藏一部分数据,当然也可以根据自己需求定制。
言归正传,如何优雅的实现呢?有两种实现方案,如下:
Sharding Sphere
实现数据脱敏,查看之前的文章:基于Sharding Sphere实现数据“一键脱敏”第一种方案网上很多实现方式,下面演示第二种,整合Jackson。
需要自定义一个脱敏注解,一旦有属性被标注,则进行对应得脱敏,如下:
针对项目需求,定制不同字段的脱敏规则,比如手机号中间几位用*
替代,如下:
以上只是提供了部分,具体根据自己项目要求进行配置。
下面将是重要实现,对标注注解@Sensitive
的字段进行脱敏,实现如下:
使用注解@Sensitive
注解进行数据脱敏,代码如下:
以上4个步骤完成了数据脱敏的Jackson注解,下面写个controller进行测试,代码如下:
调用接口查看数据有没有正常脱敏,结果如下:
数据脱敏有很多种实现方式,关键是哪种更加适合,哪种更加优雅.....
文章转载自公众号:码猿技术专栏