mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-04-19 03:01:48 +08:00
MaskingUtil增加清空策略
This commit is contained in:
parent
d0453f6776
commit
8585ecc1eb
@ -96,7 +96,15 @@ public class MaskingUtil {
|
|||||||
/**
|
/**
|
||||||
* 定义了一个first_mask的规则,只显示第一个字符。
|
* 定义了一个first_mask的规则,只显示第一个字符。
|
||||||
*/
|
*/
|
||||||
FIRST_MASK
|
FIRST_MASK,
|
||||||
|
/**
|
||||||
|
* 清空为null
|
||||||
|
*/
|
||||||
|
CLEAR_TO_NULL,
|
||||||
|
/**
|
||||||
|
* 清空为""
|
||||||
|
*/
|
||||||
|
CLEAR_TO_EMPTY
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -115,7 +123,7 @@ public class MaskingUtil {
|
|||||||
* MaskingUtil.masking("192.168.1.1", MaskingUtil.DesensitizedType.IPV4)) = "192.*.*.*"
|
* MaskingUtil.masking("192.168.1.1", MaskingUtil.DesensitizedType.IPV4)) = "192.*.*.*"
|
||||||
* </pre>
|
* </pre>
|
||||||
*
|
*
|
||||||
* @param str 字符串
|
* @param str 字符串
|
||||||
* @param maskingType 脱敏类型;可以脱敏:用户id、中文名、身份证号、座机号、手机号、地址、电子邮件、密码
|
* @param maskingType 脱敏类型;可以脱敏:用户id、中文名、身份证号、座机号、手机号、地址、电子邮件、密码
|
||||||
* @return 脱敏之后的字符串
|
* @return 脱敏之后的字符串
|
||||||
* @author dazer and neusoft and qiaomu
|
* @author dazer and neusoft and qiaomu
|
||||||
@ -166,11 +174,37 @@ public class MaskingUtil {
|
|||||||
case FIRST_MASK:
|
case FIRST_MASK:
|
||||||
newStr = firstMask(String.valueOf(str));
|
newStr = firstMask(String.valueOf(str));
|
||||||
break;
|
break;
|
||||||
|
case CLEAR_TO_EMPTY:
|
||||||
|
newStr = clear();
|
||||||
|
break;
|
||||||
|
case CLEAR_TO_NULL:
|
||||||
|
newStr = clearToNull();
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
}
|
}
|
||||||
return newStr;
|
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
|
* 【用户id】不对外提供userId
|
||||||
*
|
*
|
||||||
@ -342,7 +376,7 @@ public class MaskingUtil {
|
|||||||
}
|
}
|
||||||
|
|
||||||
final int length = bankCardNo.length();
|
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 int midLength = length - 4 - endLength;
|
||||||
final StringBuilder buf = new StringBuilder();
|
final StringBuilder buf = new StringBuilder();
|
||||||
|
|
||||||
|
@ -25,6 +25,9 @@ public class MaskingUtilTest {
|
|||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void maskingTest() {
|
public void maskingTest() {
|
||||||
|
Assertions.assertEquals("", MaskingUtil.masking("100", MaskingUtil.MaskingType.CLEAR_TO_EMPTY));
|
||||||
|
Assertions.assertNull(MaskingUtil.masking("100", MaskingUtil.MaskingType.CLEAR_TO_NULL));
|
||||||
|
|
||||||
Assertions.assertEquals("0", MaskingUtil.masking("100", MaskingUtil.MaskingType.USER_ID));
|
Assertions.assertEquals("0", MaskingUtil.masking("100", MaskingUtil.MaskingType.USER_ID));
|
||||||
Assertions.assertEquals("段**", MaskingUtil.masking("段正淳", MaskingUtil.MaskingType.CHINESE_NAME));
|
Assertions.assertEquals("段**", MaskingUtil.masking("段正淳", MaskingUtil.MaskingType.CHINESE_NAME));
|
||||||
Assertions.assertEquals("5***************1X", MaskingUtil.masking("51343620000320711X", MaskingUtil.MaskingType.ID_CARD));
|
Assertions.assertEquals("5***************1X", MaskingUtil.masking("51343620000320711X", MaskingUtil.MaskingType.ID_CARD));
|
||||||
@ -103,7 +106,7 @@ public class MaskingUtilTest {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
public void bankCardTest(){
|
public void bankCardTest() {
|
||||||
Assertions.assertNull(MaskingUtil.bankCard(null));
|
Assertions.assertNull(MaskingUtil.bankCard(null));
|
||||||
Assertions.assertEquals("", MaskingUtil.bankCard(""));
|
Assertions.assertEquals("", MaskingUtil.bankCard(""));
|
||||||
Assertions.assertEquals("1234 **** **** **** **** 9", MaskingUtil.bankCard("1234 2222 3333 4444 6789 9"));
|
Assertions.assertEquals("1234 **** **** **** **** 9", MaskingUtil.bankCard("1234 2222 3333 4444 6789 9"));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user