diff --git a/hutool-core/src/main/java/cn/hutool/core/text/DesensitizedUtil.java b/hutool-core/src/main/java/cn/hutool/core/text/DesensitizedUtil.java index f3982d304..3f929b477 100644 --- a/hutool-core/src/main/java/cn/hutool/core/text/DesensitizedUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/text/DesensitizedUtil.java @@ -16,6 +16,8 @@ import cn.hutool.core.util.CharUtil; *
- * DesensitizedUtil.desensitized("100", DesensitizedUtils.DesensitizedType.USER_ID)) = "0"
- * DesensitizedUtil.desensitized("段正淳", DesensitizedUtils.DesensitizedType.CHINESE_NAME)) = "段**"
- * DesensitizedUtil.desensitized("51343620000320711X", DesensitizedUtils.DesensitizedType.ID_CARD)) = "5***************1X"
- * DesensitizedUtil.desensitized("09157518479", DesensitizedUtils.DesensitizedType.FIXED_PHONE)) = "0915*****79"
- * DesensitizedUtil.desensitized("18049531999", DesensitizedUtils.DesensitizedType.MOBILE_PHONE)) = "180****1999"
- * DesensitizedUtil.desensitized("北京市海淀区马连洼街道289号", DesensitizedUtils.DesensitizedType.ADDRESS)) = "北京市海淀区马********"
- * DesensitizedUtil.desensitized("duandazhi-jack@gmail.com.cn", DesensitizedUtils.DesensitizedType.EMAIL)) = "d*************@gmail.com.cn"
- * DesensitizedUtil.desensitized("1234567890", DesensitizedUtils.DesensitizedType.PASSWORD)) = "**********"
- * DesensitizedUtil.desensitized("苏D40000", DesensitizedUtils.DesensitizedType.CAR_LICENSE)) = "苏D4***0"
- * DesensitizedUtil.desensitized("11011111222233333256", DesensitizedUtils.DesensitizedType.BANK_CARD)) = "1101 **** **** **** 3256"
+ * DesensitizedUtil.desensitized("100", DesensitizedUtil.DesensitizedType.USER_ID)) = "0"
+ * DesensitizedUtil.desensitized("段正淳", DesensitizedUtil.DesensitizedType.CHINESE_NAME)) = "段**"
+ * DesensitizedUtil.desensitized("51343620000320711X", DesensitizedUtil.DesensitizedType.ID_CARD)) = "5***************1X"
+ * DesensitizedUtil.desensitized("09157518479", DesensitizedUtil.DesensitizedType.FIXED_PHONE)) = "0915*****79"
+ * DesensitizedUtil.desensitized("18049531999", DesensitizedUtil.DesensitizedType.MOBILE_PHONE)) = "180****1999"
+ * DesensitizedUtil.desensitized("北京市海淀区马连洼街道289号", DesensitizedUtil.DesensitizedType.ADDRESS)) = "北京市海淀区马********"
+ * DesensitizedUtil.desensitized("duandazhi-jack@gmail.com.cn", DesensitizedUtil.DesensitizedType.EMAIL)) = "d*************@gmail.com.cn"
+ * DesensitizedUtil.desensitized("1234567890", DesensitizedUtil.DesensitizedType.PASSWORD)) = "**********"
+ * DesensitizedUtil.desensitized("苏D40000", DesensitizedUtil.DesensitizedType.CAR_LICENSE)) = "苏D4***0"
+ * DesensitizedUtil.desensitized("11011111222233333256", DesensitizedUtil.DesensitizedType.BANK_CARD)) = "1101 **** **** **** 3256"
+ * DesensitizedUtil.desensitized("192.168.1.1", DesensitizedUtil.DesensitizedType.IPV4)) = "192.*.*.*"
*
*
* @param str 字符串
@@ -79,34 +114,43 @@ public class DesensitizedUtil {
String newStr = String.valueOf(str);
switch (desensitizedType) {
case USER_ID:
- newStr = String.valueOf(DesensitizedUtil.userId());
+ newStr = String.valueOf(userId());
break;
case CHINESE_NAME:
- newStr = DesensitizedUtil.chineseName(String.valueOf(str));
+ newStr = chineseName(String.valueOf(str));
break;
case ID_CARD:
- newStr = DesensitizedUtil.idCardNum(String.valueOf(str), 1, 2);
+ newStr = idCardNum(String.valueOf(str), 1, 2);
break;
case FIXED_PHONE:
- newStr = DesensitizedUtil.fixedPhone(String.valueOf(str));
+ newStr = fixedPhone(String.valueOf(str));
break;
case MOBILE_PHONE:
- newStr = DesensitizedUtil.mobilePhone(String.valueOf(str));
+ newStr = mobilePhone(String.valueOf(str));
break;
case ADDRESS:
- newStr = DesensitizedUtil.address(String.valueOf(str), 8);
+ newStr = address(String.valueOf(str), 8);
break;
case EMAIL:
- newStr = DesensitizedUtil.email(String.valueOf(str));
+ newStr = email(String.valueOf(str));
break;
case PASSWORD:
- newStr = DesensitizedUtil.password(String.valueOf(str));
+ newStr = password(String.valueOf(str));
break;
case CAR_LICENSE:
- newStr = DesensitizedUtil.carLicense(String.valueOf(str));
+ newStr = carLicense(String.valueOf(str));
break;
case BANK_CARD:
- newStr = DesensitizedUtil.bankCard(String.valueOf(str));
+ newStr = bankCard(String.valueOf(str));
+ break;
+ case IPV4:
+ newStr = ipv4(String.valueOf(str));
+ break;
+ case IPV6:
+ newStr = ipv6(String.valueOf(str));
+ break;
+ case FIRST_MASK:
+ newStr = firstMask(String.valueOf(str));
break;
default:
}
@@ -122,6 +166,20 @@ public class DesensitizedUtil {
return 0L;
}
+ /**
+ * 定义了一个first_mask的规则,只显示第一个字符。