Newer
Older
newfiber-termite / newfiber-common / newfiber-common-sensitive / src / main / java / com / newfiber / common / sensitive / enums / SensitiveStrategyEnum.java
package com.newfiber.common.sensitive.enums;

import lombok.Getter;

/**
 * 脱敏策略正则
 * @author yhq
 * @date 2021年9月6日 13点33分
 **/
public enum SensitiveStrategyEnum {

    /**
     *中文姓名
     */
    CHINESE_NAME("(?<=.{1}).","*"),

    /**
     * 密码
     */
    PASSWORD("(?<=).","*"),

    /**
     * 身份证号
     */
    ID_CARD_NUM("(?<=\\w{0})\\w(?=\\w{4})","*"),

    /**
     * 固定电话
     */
    FIXED_PHONE("(?<=\\w{0})\\w(?=\\w{4})","*"),

    /**
     * 电话
     */
    MOBILE("(?<=\\w{3})\\w(?=\\w{4})","*"),

    /**
     * 地址
     */
    ADDRESS("(.{5}).+(.{4})","$1*****$2"),
    /**
     * 邮箱
     */
    EMAIL("(\\w+)\\w{3}@(\\w+)","$1***@$2"),

    /**
     * 银行卡号
     */
    BANKCARD("(?<=\\w{4})\\w(?=\\w{4})","*"),

    /**
     * 默认策略
     */
    DEFAULT_STRATEGY("","")
    ;

    SensitiveStrategyEnum(String pattern, String replaceChar){
        this.pattern = pattern;
        this.replaceChar = replaceChar;
    }

    /**
     * 正则-输入格式(1,2,2)
     */
    @Getter
    private String pattern;

    /**
     * 替换后的字符
     */
    @Getter
    private String replaceChar;

}