2021-12-23 23:07:54 +08:00
|
|
|
package com.ruoyi.common.enums;
|
|
|
|
|
|
|
|
import cn.hutool.core.util.DesensitizedUtil;
|
2021-12-28 12:03:00 +08:00
|
|
|
import lombok.AllArgsConstructor;
|
|
|
|
|
2021-12-23 23:07:54 +08:00
|
|
|
import java.util.function.Function;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 脱敏策略
|
2021-12-28 12:03:00 +08:00
|
|
|
*
|
|
|
|
* @author Yjoioooo
|
|
|
|
* @version 3.6.0
|
2021-12-23 23:07:54 +08:00
|
|
|
*/
|
2021-12-28 12:03:00 +08:00
|
|
|
@AllArgsConstructor
|
2021-12-23 23:07:54 +08:00
|
|
|
public enum SensitiveStrategy {
|
|
|
|
|
2021-12-28 12:03:00 +08:00
|
|
|
/**
|
|
|
|
* 身份证脱敏
|
|
|
|
*/
|
2021-12-23 23:07:54 +08:00
|
|
|
ID_CARD(s -> DesensitizedUtil.idCardNum(s, 3, 4)),
|
|
|
|
|
2021-12-28 12:03:00 +08:00
|
|
|
/**
|
|
|
|
* 手机号脱敏
|
|
|
|
*/
|
2021-12-23 23:07:54 +08:00
|
|
|
PHONE(DesensitizedUtil::mobilePhone),
|
|
|
|
|
2021-12-28 12:03:00 +08:00
|
|
|
/**
|
|
|
|
* 地址脱敏
|
|
|
|
*/
|
|
|
|
ADDRESS(s -> DesensitizedUtil.address(s, 8)),
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 邮箱脱敏
|
|
|
|
*/
|
|
|
|
EMAIL(DesensitizedUtil::email),
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 银行卡
|
|
|
|
*/
|
|
|
|
BANK_CARD(DesensitizedUtil::bankCard);
|
2021-12-23 23:07:54 +08:00
|
|
|
|
|
|
|
//可自行添加其他脱敏策略
|
|
|
|
|
|
|
|
private final Function<String, String> desensitizer;
|
|
|
|
|
|
|
|
public Function<String, String> desensitizer() {
|
|
|
|
return desensitizer;
|
|
|
|
}
|
|
|
|
}
|