Java 通过注解实现接口输出时数据脱敏

在后台管理中,对于手机号,身份证,姓名这些数据不允许所有人都能看,这时候我们要对相对数据进行脱敏.

先声明了一个注解, 通过对相关接口函数进行声明,以及配置需要脱敏的参数类型SecretTypeEnum,默认脱敏手机号

/**
 * 脱敏声明
 */
@Documented
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface SecretManage {
   
   

    SecretTypeEnum[] value() default {
   
   SecretTypeEnum.MOBILE};

}

我们目前只支持对手机号,身份证,用户姓名三个字段进行脱敏, 字段名称必须符合枚举的desc值

package com.test.base.enums;


import com.fasterxml.jackson.annotation.JsonValue;

/**
 * @author fyf
 * @date 2021/2/26
 */
public enum SecretTypeEnum implements BaseEnum {
   
   
    MOBILE(0, "mobile"),
    NAME(1, "name"),
    ID(2, "identity")
    ;

    @JsonValue
    private int code;
    private String desc;

    public String getDesc() {
   
   
        return desc;
    }

    SecretTypeEnum(int code, String desc) {
   
   
        this.code = code;
        this.desc = desc;
    }

    @Override
    public 
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值