Skip to content

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);

Power By 数字海南