Skip to content

lancelothuxi/dataMasking

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dataMasking

基于状态机的字符流脱敏实现,零正则表达式,简单高效,可用于日志脱敏。

用法

//注册脱敏字段
SensitiveInfoRegistry.put("name", SensitiveType.CHINESE_NAME);
SensitiveInfoRegistry.put("idCard", SensitiveType.ID_CARD);
SensitiveInfoRegistry.put("mobile", SensitiveType.MOBILE_PHONE);
SensitiveInfoRegistry.put("phone", SensitiveType.FIXED_PHONE);
SensitiveInfoRegistry.put("email", SensitiveType.EMAIL);
SensitiveInfoRegistry.put("address", SensitiveType.ADDRESS);


//参考测试用例
@Test
public void testJsonWithMultipleSensitiveFields() {
    String input = "aaaaaaaaaaaaaaa{\"name\":\"李四\",\"idCard\":\"110101199003072345\",\"mobile\":\"13800138000\",\"email\":\"[email protected]\"}";
    String expected = "aaaaaaaaaaaaaaa{\"name\":\"李*\",\"idCard\":\"110******345\",\"mobile\":\"138******8000\",\"email\":\"******.com\"}";
    assertEquals(SensitiveReplacer.deSensitiveString(input), expected);
}

About

基于字符流的脱敏实现,零正则,快速高效

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages