JAVA数据脱敏一种比较简单的实现方式

什么是数据脱敏

数据脱敏是指对某些敏感信息通过脱敏规则进行数据的变形,实现敏感隐私数据的可靠保护。比如 手机号、银行卡号、身份证号等信息,在不违反系统规则条件下,对真实数据进行转换或修改的一种技术手段。

实现

实体类

import com.mos.secure.ext.annotations.DesensitizationProp;
import com.mos.secure.ext.enums.SensitiveTypeEnum;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;

@Data
@NoArgsConstructor
@AllArgsConstructor
@ToString
public class User {
    private Integer uid;
    @DesensitizationProp(SensitiveTypeEnum.CHINESE_NAME)
    private String userName;//姓名
    @DesensitizationProp(SensitiveTypeEnum.MOBILE_PHONE)
    private String userMobile;//手机号
    @DesensitizationProp(SensitiveTypeEnum.FIXED_PHONE)
    private String userTel;//固定电话
    @DesensitizationProp(SensitiveTypeEnum.ID_CARD)
    private String userBkId;//银行卡号
}

向前端传输数据的Controller类

import com.mos.secure.ext.annotations.Desensitization;
import com.zyl.datamask.bean.User;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class UserHandler {
    @Desensitization  //意思为当前返回的数据要进行脱敏
    @RequestMapping("/datase")
    public User test(){
        return new User(1,"暖溱","18212311432","0354-123456","6212284123123142");
    }
}

所需依赖

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

测试结果

JAVA数据脱敏一种比较简单的实现方式_第1张图片

你可能感兴趣的:(java,spring)