主题
DesensitizeUtils 数据脱敏工具
cn.com.digitalhainan.tools.DesensitizeUtils
身份证号脱敏
java
import cn.com.digitalhainan.tools.DesensitizeUtils;
String idNo = "460200199001011234";
// 保留前3后4
String masked = DesensitizeUtils.desensitizeIdNoFirstThreeLastFour(idNo);
// 15位身份证
String idNo15 = "460200900101123";
String masked15 = DesensitizeUtils.desensitizeIdNoFirstThreeLastFour(idNo15);
// 空值或格式错误返回原值
String invalid = DesensitizeUtils.desensitizeIdNoFirstThreeLastFour("123");手机号脱敏
java
import cn.com.digitalhainan.tools.DesensitizeUtils;
String phone = "13800138000";
// 保留前3后4
String masked = DesensitizeUtils.desensitizePhoneFirstThreeLastFour(phone);
// 非11位手机号返回原值
String invalid = DesensitizeUtils.desensitizePhoneFirstThreeLastFour("123");姓名脱敏
java
import cn.com.digitalhainan.tools.DesensitizeUtils;
// 单字姓名 - 不脱敏
String name1 = DesensitizeUtils.desensitizeNameFirstOneLastOne("张");
// 两字姓名 - 保留首字
String name2 = DesensitizeUtils.desensitizeNameFirstOneLastOne("张三");
// 三字姓名 - 保留首尾
String name3 = DesensitizeUtils.desensitizeNameFirstOneLastOne("张三丰");
// 四字姓名 - 保留首尾
String name4 = DesensitizeUtils.desensitizeNameFirstOneLastOne("欧阳锋");邮箱脱敏
java
import cn.com.digitalhainan.tools.DesensitizeUtils;
String email = "example@163.com";
// 保留首字母和@后面的内容
String masked = DesensitizeUtils.desensitizeEmailFirstOneLaseAddress(email);
// 短前缀邮箱
String shortEmail = "a@qq.com";
String maskedShort = DesensitizeUtils.desensitizeEmailFirstOneLaseAddress(shortEmail);通用脱敏
java
import cn.com.digitalhainan.tools.DesensitizeUtils;
// 保留前2后3,中间用*代替
String result = DesensitizeUtils.commonDesensitize("abcdefghijk", 2, 3);
// 字符串长度不足时全部脱敏
String shortStr = DesensitizeUtils.commonDesensitize("abc", 2, 3);