mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-05-09 23:51:34 +08:00
DesensitizedUtil增加清空策略
This commit is contained in:
parent
cbcd31910b
commit
a0eeefefe9
@ -6,6 +6,7 @@
|
||||
|
||||
### 🐣新特性
|
||||
* 【core 】 NumberUtil.nullToZero增加重载(issue#I7PPD2@Github)
|
||||
* 【core 】 DesensitizedUtil增加清空策略(issue#I7PUJ2@Github)
|
||||
|
||||
### 🐞Bug修复
|
||||
|
||||
|
@ -78,7 +78,15 @@ public class DesensitizedUtil {
|
||||
/**
|
||||
* 定义了一个first_mask的规则,只显示第一个字符。
|
||||
*/
|
||||
FIRST_MASK
|
||||
FIRST_MASK,
|
||||
/**
|
||||
* 清空为null
|
||||
*/
|
||||
CLEAR_TO_NULL,
|
||||
/**
|
||||
* 清空为""
|
||||
*/
|
||||
CLEAR_TO_EMPTY
|
||||
}
|
||||
|
||||
/**
|
||||
@ -148,11 +156,37 @@ public class DesensitizedUtil {
|
||||
case FIRST_MASK:
|
||||
newStr = firstMask(String.valueOf(str));
|
||||
break;
|
||||
case CLEAR_TO_EMPTY:
|
||||
newStr = clear();
|
||||
break;
|
||||
case CLEAR_TO_NULL:
|
||||
newStr = clearToNull();
|
||||
break;
|
||||
default:
|
||||
}
|
||||
return newStr;
|
||||
}
|
||||
|
||||
/**
|
||||
* 清空为空字符串
|
||||
*
|
||||
* @return 清空后的值
|
||||
* @since 5.8.22
|
||||
*/
|
||||
public static String clear() {
|
||||
return StrUtil.EMPTY;
|
||||
}
|
||||
|
||||
/**
|
||||
* 清空为{@code null}
|
||||
*
|
||||
* @return 清空后的值(null)
|
||||
* @since 5.8.22
|
||||
*/
|
||||
public static String clearToNull() {
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 【用户id】不对外提供userId
|
||||
*
|
||||
@ -329,7 +363,7 @@ public class DesensitizedUtil {
|
||||
}
|
||||
|
||||
final int length = bankCardNo.length();
|
||||
final int endLength= length % 4 == 0 ? 4 : length % 4;
|
||||
final int endLength = length % 4 == 0 ? 4 : length % 4;
|
||||
final int midLength = length - 4 - endLength;
|
||||
|
||||
final StringBuilder buf = new StringBuilder();
|
||||
|
@ -14,6 +14,8 @@ public class DesensitizedUtilTest {
|
||||
@Test
|
||||
public void desensitizedTest() {
|
||||
Assert.assertEquals("0", DesensitizedUtil.desensitized("100", DesensitizedUtil.DesensitizedType.USER_ID));
|
||||
Assert.assertEquals("", DesensitizedUtil.desensitized("100", DesensitizedUtil.DesensitizedType.CLEAR_TO_EMPTY));
|
||||
Assert.assertNull(DesensitizedUtil.desensitized("100", DesensitizedUtil.DesensitizedType.CLEAR_TO_NULL));
|
||||
Assert.assertEquals("段**", DesensitizedUtil.desensitized("段正淳", DesensitizedUtil.DesensitizedType.CHINESE_NAME));
|
||||
Assert.assertEquals("5***************1X", DesensitizedUtil.desensitized("51343620000320711X", DesensitizedUtil.DesensitizedType.ID_CARD));
|
||||
Assert.assertEquals("0915*****79", DesensitizedUtil.desensitized("09157518479", DesensitizedUtil.DesensitizedType.FIXED_PHONE));
|
||||
|
Loading…
x
Reference in New Issue
Block a user