public class MaskingManager extends Object
getInstance()
,带有预定义的脱敏方法ofDefault(char)
,可以自定义脱敏字符,带有预定义的脱敏方法MaskingManager(Map, char)
构造,不带有默认规则Modifier and Type | Field and Description |
---|---|
static char |
DEFAULT_MASK_CHAR
默认的脱敏字符:*
|
static MaskingManager |
EMPTY
空脱敏管理器,用于不处理任何数据的情况
|
Constructor and Description |
---|
MaskingManager(Map<String,MaskingHandler> handlerMap)
构造
|
MaskingManager(Map<String,MaskingHandler> handlerMap,
char maskChar)
构造
|
Modifier and Type | Method and Description |
---|---|
String |
address(CharSequence address,
int sensitiveSize)
【地址】只显示到地区,不显示详细地址,比如:北京市海淀区****
|
String |
bankCard(CharSequence bankCardNo)
银行卡号脱敏
eg: 1101 **** **** **** 3256
|
String |
carLicense(CharSequence carLicense)
【中国车牌】车牌中间用脱敏字符(如*)代替
eg1:null -》 ""
eg1:"" -》 ""
eg3:苏D40000 -》 苏D4***0
eg4:陕A12345D -》 陕A1****D
eg5:京A123 -》 京A123 如果是错误的车牌,不处理
|
String |
email(CharSequence email)
【电子邮箱】邮箱前缀仅显示第一个字母,前缀其他隐藏,用星号代替,@及后面的地址显示,比如:d**@126.com
|
String |
firstMask(CharSequence str)
定义了一个first_mask的规则,只显示第一个字符。
|
String |
fixedPhone(CharSequence num)
【固定电话 前四位,后两位
|
static MaskingManager |
getInstance()
获得单例的 MaskingManager
|
String |
idCardNum(CharSequence idCardNum,
int front,
int end)
【身份证号】前1位 和后2位
|
String |
ipv4(CharSequence ipv4)
IPv4脱敏,如:脱敏前:192.0.2.1;脱敏后:192.*.*.*。
|
String |
ipv6(CharSequence ipv6)
IPv6脱敏,如:脱敏前:2001:0db8:86a3:08d3:1319:8a2e:0370:7344;脱敏后:2001:*:*:*:*:*:*:*
|
String |
masking(String type,
CharSequence value)
脱敏处理
如果没有指定的脱敏处理器,则返回 null |
String |
mobilePhone(CharSequence num)
【手机号码】前三位,后4位,其他隐藏,比如135****2210
|
static MaskingManager |
ofDefault(char maskChar)
创建默认的脱敏管理器,通过给定的脱敏字符,提供默认的脱敏规则
|
String |
password(CharSequence password)
【密码】密码的全部字符都用定义的脱敏字符(如*)代替,比如:******
密码位数不能被猜测,因此固定10位 |
MaskingManager |
register(String type,
MaskingHandler handler)
注册一个脱敏处理器
|
public static final char DEFAULT_MASK_CHAR
public static final MaskingManager EMPTY
public MaskingManager(Map<String,MaskingHandler> handlerMap)
handlerMap
- 脱敏处理器Map,如果应用于单例,则需要传入线程安全的Mappublic MaskingManager(Map<String,MaskingHandler> handlerMap, char maskChar)
handlerMap
- 脱敏处理器Map,如果应用于单例,则需要传入线程安全的MapmaskChar
- 默认的脱敏字符,默认为*public static MaskingManager getInstance()
public static MaskingManager ofDefault(char maskChar)
maskChar
- 脱敏字符,默认为*public MaskingManager register(String type, MaskingHandler handler)
type
- 类型handler
- 脱敏处理器public String masking(String type, CharSequence value)
null
type
- 类型value
- 待脱敏值public String firstMask(CharSequence str)
str
- 字符串public String idCardNum(CharSequence idCardNum, int front, int end)
idCardNum
- 身份证front
- 保留:前面的front位数;从1开始end
- 保留:后面的end位数;从1开始public String fixedPhone(CharSequence num)
num
- 固定电话public String mobilePhone(CharSequence num)
num
- 移动电话;public String address(CharSequence address, int sensitiveSize)
address
- 家庭住址sensitiveSize
- 敏感信息长度public String email(CharSequence email)
email
- 邮箱public String password(CharSequence password)
password
- 密码public String carLicense(CharSequence carLicense)
carLicense
- 完整的车牌号public String bankCard(CharSequence bankCardNo)
bankCardNo
- 银行卡号public String ipv4(CharSequence ipv4)
ipv4
- IPv4地址public String ipv6(CharSequence ipv6)
ipv6
- IPv6地址Copyright © 2025. All rights reserved.