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
测试一下数据能否脱敏

经过测试发现,敏感数据已经被*号所覆盖

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值