日志脱敏




import lombok.AllArgsConstructor;
import lombok.Getter;

import org.apache.commons.lang3.StringUtils;

/**
 * 类SensitiveRulesEnum1.java的实现描述:脱敏规则
 * 
 * 
 */
@Getter
@AllArgsConstructor
public enum SensitiveRulesEnum {
    /** 全脱敏(如:******) */
    DESENSITIZED_FULLY("DESENSITIZED_FULLY", "任一字段全脱敏", "任意类型", RuleEnum.RULE_DESENSITIZED_FULLY),
    /** 不显示原数值 (如:N.A.) */
    DISSHOW_FIELD("DISSHOW_FIELD", "企业密钥|个人密钥|口令数据等", "不显示", RuleEnum.RULE_DISSHOW),

    /** 姓名 (如:何**) */
    NAME("NAME", "姓名", "个人信息", RuleEnum.RULE_NAME),

    /** 密码(如:******) */
    PASSWORD("PASSWORD", "密码", "个人信息", RuleEnum.RULE_PASSWORD),

    /** 银行卡号(如:6227****1104) */
    CARD_NO("CARD_NO", "银行卡号", "个人信息", RuleEnum.RULE_CARD_NO),

    /** 证件号(如:3****************7) */
    CERTI_NO("CERTI_NO", "证件号", "个人信息", RuleEnum.RULE_CERTI_NO),

    /** 手机号(如:133******78) */
    PHONE_NO("PHONE_NO", "手机号", "个人信息", RuleEnum.RULE_PHONE_NO),

    /** 邮箱(如:hy***o@zhongan.com) */
    EMAIL("EMAIL", "邮箱", "个人信息", RuleEnum.RULE_EMAIL),

    /** Hash值脱敏,规则: MD5 */
    HASH("HASH", "hash值", "hash值", RuleEnum.RULE_HASH),;

    /** 枚举名 */
    private String name;
    /** 脱敏字段 */
    private String dataField;
    /** 数据类型 */
    private String dataType;
    /** 脱敏规则 */
    private RuleEnum rule;

    /**
     * 通过枚举名获取枚举实例
     *
     * @param name
     * @return
     */
    public static SensitiveRulesEnum getSensitiveRule(String name){
        for(SensitiveRulesEnum rule :SensitiveRulesEnum.values()){
            if(rule.getName().equalsIgnoreCase(StringUtils.trim(name))){
                return rule;
            }
        }
        return null;
    }

    @Getter
    @AllArgsConstructor
    public enum RuleEnum {
        RULE_DESENSITIZED_FULLY(true, 6, 0, 0),
        RULE_DESENSITIZED_1_(true, 1, 1, 0),
        RULE_NAME(true, 2, 1, 0),
        RULE_PASSWORD(true, 6, 0, 0),
        RULE_CARD_NO(true, 4, 4, 4),
        RULE_CERTI_NO(true, 16, 1, 1),
        RULE_PHONE_NO(true, 6, 3, 2),
        RULE_EMAIL(true, 3, 2, 1),
        RULE_DISSHOW(false, 0, 0, 0),
        RULE_HASH(true, 0, 0, 0),;

        /** 是否显示 */
        private boolean isShow;
        /** 补充*号 长度 */
        private int paddingStar;
        /** 保留前*位(前指针) */
        private int beforeIndex;

        /** 保留后*位(后指针) */
        private int afterIndex;
    }

}

 

 

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值