Java实现数据脱敏

一、什么是数据脱敏

数据脱敏指的是某些敏感的信息通过脱敏规则进行数据的变形,实现敏感隐私数据的可靠保护。敏感数据包括,姓名、身份证号、手机号、银行卡号等信息,防止这些敏感数据在不安全的情况下使用,所以就要使用数据脱敏的技术。
使用数据脱敏会在敏感数据被查询时,使用***进行遮挡,从而保护敏感数据的安全。

二、使用Java实现数据脱敏

添加数据脱敏用的到的依赖

<dependency>
            <groupId>io.gitee.chemors</groupId>
            <artifactId>secure-ext-spring-boot-starter</artifactId>
            <version>1.0.3-RELEASE</version>
        </dependency>

创建一个用户的实体类,设置一些敏感数据的属性

@Data
@NoArgsConstructor
@AllArgsConstructor
public class User {
    // 用户姓名 SensitiveTypeEnum 是个枚举实体类
    @DesensitizationProp(SensitiveTypeEnum.CHINESE_NAME)
    private String userName;
    // 用户手机号
    @DesensitizationProp(SensitiveTypeEnum.MOBILE_PHONE)
    private String userPhone;
    // 用户银行卡号
    @DesensitizationProp(SensitiveTypeEnum.BANK_CARD)
    private String bank_card;
    // 用户身份证号
    @DesensitizationProp(SensitiveTypeEnum.ID_CARD)
    private String id_card;
}

写一个简单的测试接口

@RestController
public class DataMask {
    @Desensitization  // 数据脱敏的关键,当前注释的控制器返回数据之前要经过数据脱敏
    @RequestMapping(value = "/user",method = RequestMethod.GET)
    public User getInformation() {
        return new User("海苔大王","12211118888","6228 0000 0000 0000 679","842411111111111111");
    }
}

配置文件,那个深度脱敏默认是关闭的,感兴趣的朋友可以去搜索相关资料

# 是否启用脱敏,全局生效,默认开启的
sensitive.enable=true
# 是否启用深度脱敏,为了性能考虑,默认关闭
sensitive.depth=false

测试一下数据能否脱敏
在这里插入图片描述
经过测试发现,敏感数据已经被*号所覆盖

数据脱敏成功

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值