MaskingUtil增加清空策略

This commit is contained in:
Looly 2023-08-02 11:27:04 +08:00
parent d0453f6776
commit 8585ecc1eb
2 changed files with 41 additions and 4 deletions

View File

@ -96,7 +96,15 @@ public class MaskingUtil {
/** /**
* 定义了一个first_mask的规则只显示第一个字符 * 定义了一个first_mask的规则只显示第一个字符
*/ */
FIRST_MASK FIRST_MASK,
/**
* 清空为null
*/
CLEAR_TO_NULL,
/**
* 清空为""
*/
CLEAR_TO_EMPTY
} }
/** /**
@ -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
* *

View File

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