在实际的软件系统的开发过程中,为了保护信息安全,需要对敏感信息进行脱敏处理,如:姓名、电话号码、身份证
在大量参考作者:l_learning文章的基础上,对脱敏注解进行了进一步的优化和完善。
1.脱敏注解(同步作者: l_learning)
/**
* Title: com.common.core.annotation
* Description:脱敏注解
* Copyright: Copyright (c) 2024
* Company:
*
* @author :mingF
* @version :3.2.2
* @date :2024/4/22 16:02
*/
@Retention(RetentionPolicy.RUNTIME)
@JacksonAnnotationsInside
@JsonSerialize(using = DesensitizationJsonSerializer.class)
public @interface Desensitization {
Class<? extends AbstractDesensitization> value();
}
2.脱敏父类(同步作者: l_learning)
/**
* Title: com.common.core.desensitization
* Description:脱敏父类
* Copyright: Copyright (c) 2024
* Company:
*
* @author :mingF
* @version :3.2.2
* @date :2024/4/22 16:08
*/
public abstract class AbstractDesensitization {
/**
* @description : 脱敏
* @author : mingF
* @date : 2024/4/22 16:08
* @return :null
**/
public abstract String serialize(String value);
}
3.脱敏序列化(同步作者: l_learning)
/**
* Title: com.common.core.desensitization.jsonSerializer
* Description:脱敏序列化
* Copyright: Copyright (c) 2024
* Company:
*
* @author :mingF
* @version :3.2.2
* @date :2024/4/22 16:10
*/
public class DesensitizationJsonSerializer extends JsonSerializer<String> implements ContextualSerializer {
private AbstractDesensitization desensitiza

最低0.47元/天 解锁文章
1586





