Hutool 之 DesensitizedUtil
发表于:2023-11-20浏览:20次TAG: #hutool
在数据处理或清洗中,可能涉及到很多隐私信息的脱敏工作,因此Hutool针对常用的信息封装了一些脱敏方法。
现阶段支持的脱敏数据类型包括:
1. 用户id
2. 中文姓名
3. 身份证号
4. 座机号
5. 手机号
6. 地址
7. 电子邮件
8. 密码
9. 中国大陆车牌,包含普通车辆、新能源车辆
10. 银行卡
整体来说,所谓脱敏就是隐藏掉信息中的一部分关键信息,用`*`代替,自定义隐藏可以使用`StrUtil.hide`方法完成。
## 使用
我们以身份证号码为例:
```java
// 5***************1X
DesensitizedUtil.idCardNum("51343620000320711X", 1, 2);
```
对于约定俗成的脱敏,我们可以不用指定隐藏位数,比如手机号:
```java
// 180****1999
DesensitizedUtil.mobilePhone("18049531999");
```
当然还有一些简单粗暴的脱敏,比如密码,只保留了位数信息:
```java
// **********
DesensitizedUtil.password("1234567890");
```