|
|
@ -83,6 +83,9 @@ public class MaskProcessor { |
|
|
|
String maskResult = maskString((String) value, fieldsMaskType.get(index)); |
|
|
|
entry.setValue(maskResult); |
|
|
|
} |
|
|
|
} else if (value instanceof List) { |
|
|
|
// 列表
|
|
|
|
((List)value).forEach(e -> mask(e)); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
@ -155,10 +158,12 @@ public class MaskProcessor { |
|
|
|
// 2个字以上的,首位字母明文,中间*
|
|
|
|
// 中文不能用\\w,要用[\u4e00-\u9fa5]
|
|
|
|
if (length == 2) { |
|
|
|
return originString.replaceAll("^([\\u4e00-\\u9fa5]).*$", "$1*"); |
|
|
|
// return originString.replaceAll("^([\\u4e00-\\u9fa5]).*$", "$1*");
|
|
|
|
return originString.substring(0).concat("*"); |
|
|
|
} else { |
|
|
|
String maskStr = StrUtil.repeat("*", length - 2); |
|
|
|
return originString.replaceAll("^([\\u4e00-\\u9fa5]).*([\\u4e00-\\u9fa5])$", "$1" + maskStr + "$2"); |
|
|
|
// return originString.replaceAll("^([\\u4e00-\\u9fa5]).*([\\u4e00-\\u9fa5])$", "$1" + maskStr + "$2");
|
|
|
|
return originString.charAt(0) + maskStr + originString.charAt(originString.length() - 1); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|