程序设计的所有原则和方法论都是追求一件事——简单——功能简单、依赖简单、修改简单、理解简单。因为只有简单才好用,简单才好维护。因此,不应该以评论艺术品的眼光来评价程序设计是否优秀,程序设计的艺术不在于有多复杂多深沉,而在于能用多简单的方式实现多复杂的业务需求;不在于只有少数人能理解,而在于能让更多人理解。
给大家介绍一个java应用中简单强大的脱敏处理工具。
简单之处: 在于研发只需要通过其工厂方法接口MaskHandlerFactory创建脱敏处理器IMaskHandler
强大之处:能够满足大多数场景,不限语言。比如中国人不同长度的姓名脱敏、外国人姓名脱敏、邮箱@前后个性化脱敏等。
maven依赖如下:
<dependency>
<groupId>io.github.chyohn.mask</groupId>
<artifactId>mask</artifactId>
<version>1.0.0-RELEASE</version>
</dependency>
下面给大家介绍它的使用场景
使用场景
1. 左边n位脱敏
| 左边脱敏位数 | 字符串 | 脱敏输出 |
|---|---|---|
| 1 | abcd | *bcd |
| 2 | abcdef | **cdef |
如下面模糊左边2个字符
void maskLeft() {
IMaskHandler maskHandler = MaskHandlerFactory.maskLeft(2);
Assertions.assertEquals(maskHandler.handle("司马相如"), "**相如");
}
2. 右边n位脱敏
| 右边脱敏位数 | 字符串 | 脱敏输出 |
|---|---|---|
| 1 | abcd | abc* |
| 2 | abcdef | abcd** |
如下面模糊字符串中右边2个字符
void maskRight() {
IMaskHandler maskHandler = MaskHandlerFactory.maskRight(2);
Assertions.assertEquals(maskHandler.handle("司马相如"), "司马**");
}
3. 两边n位脱敏
| 两边脱敏位数 | 字符串 | 脱敏输出 |
|---|---|---|
| 1 | abcd | *bc* |
| 2 | abcdef | **cd** |
如下面示例模糊字符串中两边1个字符
void maskMargin() {
// 两边n位脱敏
IMaskHandler maskHandler =

最低0.47元/天 解锁文章
1560

被折叠的 条评论
为什么被折叠?



