-
Notifications
You must be signed in to change notification settings - Fork 298
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
6 changed files
with
101 additions
and
101 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -36,9 +36,9 @@ | |
* | ||
* @author evil0th Create on 2024/4/12 | ||
*/ | ||
public final class DesensitizedUtil { | ||
public final class DesensitizationUtil { | ||
|
||
private DesensitizedUtil() { | ||
private DesensitizationUtil() { | ||
} | ||
|
||
/** | ||
|
@@ -53,7 +53,7 @@ public static String maskChineseName(String input) { | |
if (invalidText(input)) { | ||
return input; | ||
} | ||
return maskString(input, input.length() > 2 ? 1 : 0, 1); | ||
return maskBySlide(input, input.length() > 2 ? 1 : 0, 1); | ||
} | ||
|
||
/** | ||
|
@@ -63,7 +63,7 @@ public static String maskChineseName(String input) { | |
* @param input 待处理的文本 | ||
* @return 屏蔽后的文本 | ||
*/ | ||
public static String maskIdCard(String input) { | ||
public static String maskIdCardNo(String input) { | ||
if (invalidText(input)) { | ||
return input; | ||
} | ||
|
@@ -78,7 +78,7 @@ public static String maskIdCard(String input) { | |
* @param input 待处理的文本 | ||
* @return 屏蔽后的文本 | ||
*/ | ||
public static String maskMobile(String input) { | ||
public static String maskPhoneNumber(String input) { | ||
if (invalidText(input)) { | ||
return input; | ||
} | ||
|
@@ -97,7 +97,7 @@ public static String maskAddress(String input) { | |
if (invalidText(input)) { | ||
return input; | ||
} | ||
return maskString(input, 6, 0); | ||
return maskBySlide(input, 6, 0); | ||
} | ||
|
||
/** | ||
|
@@ -107,7 +107,7 @@ public static String maskAddress(String input) { | |
* @param input 待处理的文本 | ||
* @return 屏蔽后的文本 | ||
*/ | ||
public static String maskMail(String input) { | ||
public static String maskEmail(String input) { | ||
if (invalidText(input)) { | ||
return input; | ||
} | ||
|
@@ -122,7 +122,7 @@ public static String maskMail(String input) { | |
* @param input 待处理的文本 | ||
* @return 屏蔽后的文本 | ||
*/ | ||
public static String maskBankAccount(String input) { | ||
public static String maskBankCardNo(String input) { | ||
if (invalidText(input)) { | ||
return input; | ||
} | ||
|
@@ -183,7 +183,7 @@ public static String maskKey(String input) { | |
} | ||
|
||
/** | ||
* 替换任意字符串 | ||
* 根据正则进行打码。 | ||
* | ||
* <pre> | ||
* DesensitizedUtil.maskString("[email protected]", RegexDesensitizationTypeEnum.EMAIL) = "t****@qq.com" | ||
|
@@ -192,13 +192,13 @@ public static String maskKey(String input) { | |
* @param type {@link RegexDesensitizationTypeEnum} | ||
* @return 屏蔽后的文本 | ||
*/ | ||
public static String maskString(String input, RegexDesensitizationTypeEnum type) { | ||
public static String maskByRegex(String input, RegexDesensitizationTypeEnum type) { | ||
RegexDesensitizationHandler regexHandler = DesensitizationHandlerHolder.getRegexDesensitizationHandler(); | ||
return regexHandler.handle(input, type); | ||
} | ||
|
||
/** | ||
* 替换任意字符串 | ||
* 滑动打码。 | ||
* | ||
* <pre> | ||
* DesensitizedUtil.maskString("01089898976", SlideDesensitizationTypeEnum.PHONE_NUMBER) = "010******76" | ||
|
@@ -207,12 +207,12 @@ public static String maskString(String input, RegexDesensitizationTypeEnum type) | |
* @param type {@link SlideDesensitizationTypeEnum} | ||
* @return 屏蔽后的文本 | ||
*/ | ||
public static String maskString(String input, SlideDesensitizationTypeEnum type) { | ||
return maskString(input, type, false); | ||
public static String maskBySlide(String input, SlideDesensitizationTypeEnum type) { | ||
return maskBySlide(input, type, false); | ||
} | ||
|
||
/** | ||
* 替换任意字符串 | ||
* 滑动打码。 | ||
* | ||
* <pre> | ||
* DesensitizedUtil.maskString("01089898976", SlideDesensitizationTypeEnum.PHONE_NUMBER, true) = "***898989**" | ||
|
@@ -222,13 +222,13 @@ public static String maskString(String input, SlideDesensitizationTypeEnum type) | |
* @param reverse 是否反转 | ||
* @return 屏蔽后的文本 | ||
*/ | ||
public static String maskString(String input, SlideDesensitizationTypeEnum type, boolean reverse) { | ||
public static String maskBySlide(String input, SlideDesensitizationTypeEnum type, boolean reverse) { | ||
SlideDesensitizationHandler slideHandler = DesensitizationHandlerHolder.getSlideDesensitizationHandler(); | ||
return slideHandler.handle(input, type, reverse); | ||
} | ||
|
||
/** | ||
* 替换任意字符串 | ||
* 滑动打码。 | ||
* | ||
* <pre> | ||
* DesensitizedUtil.maskString("Hello World", 2, 3) = "He******rld" | ||
|
@@ -238,12 +238,12 @@ public static String maskString(String input, SlideDesensitizationTypeEnum type, | |
* @param tail 尾部保留长度 | ||
* @return 屏蔽后的文本 | ||
*/ | ||
public static String maskString(String input, int head, int tail) { | ||
return maskString(input, head, tail, false); | ||
public static String maskBySlide(String input, int head, int tail) { | ||
return maskBySlide(input, head, tail, false); | ||
} | ||
|
||
/** | ||
* 替换任意字符串 | ||
* 滑动打码。 | ||
* | ||
* <pre> | ||
* DesensitizedUtil.maskString("Hello World", 2, 3) = "He******rld" | ||
|
@@ -254,43 +254,43 @@ public static String maskString(String input, int head, int tail) { | |
* @param reverse 是否反转 | ||
* @return 屏蔽后的文本 | ||
*/ | ||
public static String maskString(String input, int head, int tail, boolean reverse) { | ||
return maskString(input, head, tail, "*", reverse); | ||
public static String maskBySlide(String input, int head, int tail, boolean reverse) { | ||
return maskBySlide(input, head, tail, "*", reverse); | ||
} | ||
|
||
/** | ||
* 替换任意字符串 <pre> | ||
* 滑动打码。 <pre> | ||
* DesensitizedUtil.maskString("Hello World", 2, 3, "#") = "He######rld" | ||
* </pre> | ||
* @param input 输入字符串 | ||
* @param head 头部保留长度 | ||
* @param tail 尾部保留长度 | ||
* @param replacement 替换结果字符 | ||
* @param maskString 替换结果字符 | ||
* @return 屏蔽后的文本 | ||
*/ | ||
public static String maskString(String input, int head, int tail, String replacement) { | ||
return maskString(input, head, tail, replacement, false); | ||
public static String maskBySlide(String input, int head, int tail, String maskString) { | ||
return maskBySlide(input, head, tail, maskString, false); | ||
} | ||
|
||
/** | ||
* 替换任意字符串 <pre> | ||
* 滑动打码。 <pre> | ||
* DesensitizedUtil.maskString("Hello World", 2, 3, "#") = "He######rld" | ||
* </pre> | ||
* @param input 输入字符串 | ||
* @param head 头部保留长度 | ||
* @param tail 尾部保留长度 | ||
* @param replacement 替换结果字符 | ||
* @param maskString 替换结果字符 | ||
* @return 屏蔽后的文本 | ||
*/ | ||
public static String maskString(String input, int head, int tail, String replacement, boolean reverse) { | ||
public static String maskBySlide(String input, int head, int tail, String maskString, boolean reverse) { | ||
if (invalidText(input)) { | ||
return input; | ||
} | ||
if (head + tail >= input.length()) { | ||
return input; | ||
} | ||
SlideDesensitizationHandler slideHandler = DesensitizationHandlerHolder.getSlideDesensitizationHandler(); | ||
return slideHandler.handle(input, head, tail, replacement, reverse); | ||
return slideHandler.handle(input, head, tail, maskString, reverse); | ||
} | ||
|
||
/** | ||
|
@@ -301,7 +301,7 @@ public static String maskString(String input, int head, int tail, String replace | |
* @param rule 规则。<br> | ||
* @return 脱敏字符串 | ||
*/ | ||
public static String maskString(String input, String... rule) { | ||
public static String maskByRule(String input, String... rule) { | ||
final RuleDesensitizationHandler ruleHandler = DesensitizationHandlerHolder.getRuleDesensitizationHandler(); | ||
return ruleHandler.handle(input, rule); | ||
} | ||
|
@@ -315,7 +315,7 @@ public static String maskString(String input, String... rule) { | |
* @param reverse 是否反转规则 | ||
* @return 脱敏字符串 | ||
*/ | ||
public static String maskString(String input, boolean reverse, String... rule) { | ||
public static String maskByRule(String input, boolean reverse, String... rule) { | ||
final RuleDesensitizationHandler ruleHandler = DesensitizationHandlerHolder.getRuleDesensitizationHandler(); | ||
return ruleHandler.handle(input, reverse, rule); | ||
} | ||
|
@@ -331,7 +331,7 @@ public static String maskString(String input, boolean reverse, String... rule) { | |
* @param reverse 是否反转规则 | ||
* @return 脱敏字符串 | ||
*/ | ||
public static String maskString(String input, char symbol, boolean reverse, String... rule) { | ||
public static String maskByRule(String input, char symbol, boolean reverse, String... rule) { | ||
final RuleDesensitizationHandler ruleHandler = DesensitizationHandlerHolder.getRuleDesensitizationHandler(); | ||
return ruleHandler.handle(input, symbol, reverse, rule); | ||
} | ||
|
62 changes: 0 additions & 62 deletions
62
...nsitize/ballcat-desensitize/src/test/java/org/ballcat/desensite/DesensitisedUtilTest.java
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
62 changes: 62 additions & 0 deletions
62
...tize/ballcat-desensitize/src/test/java/org/ballcat/desensite/DesensitizationUtilTest.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
/* | ||
* Copyright 2023-2024 the original author or authors. | ||
* | ||
* Licensed under the Apache License, Version 2.0 (the "License"); | ||
* you may not use this file except in compliance with the License. | ||
* You may obtain a copy of the License at | ||
* | ||
* https://www.apache.org/licenses/LICENSE-2.0 | ||
* | ||
* Unless required by applicable law or agreed to in writing, software | ||
* distributed under the License is distributed on an "AS IS" BASIS, | ||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
* See the License for the specific language governing permissions and | ||
* limitations under the License. | ||
*/ | ||
|
||
package org.ballcat.desensite; | ||
|
||
import java.util.UUID; | ||
|
||
import org.ballcat.desensitize.enums.RegexDesensitizationTypeEnum; | ||
import org.ballcat.desensitize.enums.SlideDesensitizationTypeEnum; | ||
import org.ballcat.desensitize.util.DesensitizationUtil; | ||
import org.junit.jupiter.api.Test; | ||
|
||
import static org.junit.jupiter.api.Assertions.assertEquals; | ||
|
||
/** | ||
* @author evil0th Create on 2024/4/12 | ||
*/ | ||
public class DesensitizationUtilTest { | ||
|
||
@Test | ||
public void test() { | ||
assertEquals("t****@qq.com", | ||
DesensitizationUtil.maskByRegex("[email protected]", RegexDesensitizationTypeEnum.EMAIL)); | ||
assertEquals("010******76", | ||
DesensitizationUtil.maskBySlide("01089898976", SlideDesensitizationTypeEnum.PHONE_NUMBER)); | ||
assertEquals("***898989**", | ||
DesensitizationUtil.maskBySlide("01089898976", SlideDesensitizationTypeEnum.PHONE_NUMBER, true)); | ||
assertEquals("430123******431", DesensitizationUtil.maskBySlide("430123990101431", 6, 3)); | ||
assertEquals("430123********432X", DesensitizationUtil.maskBySlide("43012319990101432X", 6, 4)); | ||
assertEquals("430123????????432X", DesensitizationUtil.maskBySlide("43012319990101432X", 6, 4, "?")); | ||
assertEquals("张*丰", DesensitizationUtil.maskChineseName("张三丰")); | ||
assertEquals("430123********432X", DesensitizationUtil.maskIdCardNo("43012319990101432X")); | ||
assertEquals("138******78", DesensitizationUtil.maskPhoneNumber("13812345678")); | ||
assertEquals("北京市西城区******", DesensitizationUtil.maskAddress("北京市西城区金城坊街2号")); | ||
assertEquals("t****@qq.com", DesensitizationUtil.maskEmail("[email protected]")); | ||
assertEquals("622260**********1234", DesensitizationUtil.maskBankCardNo("62226000000043211234")); | ||
assertEquals("******", DesensitizationUtil.maskPassword(UUID.randomUUID().toString())); | ||
assertEquals("000****34", DesensitizationUtil.maskKey("0000000123456q34")); | ||
assertEquals("192.*.*.*", DesensitizationUtil.maskIP("192.168.2.1")); | ||
assertEquals("2001:*:*:*:*:*:*:*", DesensitizationUtil.maskIP("2001:0db8:02de:0000:0000:0000:0000:0e13")); | ||
assertEquals("2001:*:*:*:*:*:*:*", DesensitizationUtil.maskIP("2001:db8:2de:0:0:0:0:e13")); | ||
assertEquals("4*01***99*********", DesensitizationUtil.maskByRule("43012319990101432X", "1", "4-6", "9-")); | ||
assertEquals("4-01---99---------", | ||
DesensitizationUtil.maskByRule("43012319990101432X", '-', false, "1", "4-6", "9-")); | ||
assertEquals("-3--231--90101432X", | ||
DesensitizationUtil.maskByRule("43012319990101432X", '-', true, "1", "4-6", "9-")); | ||
} | ||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters