2.编写脱敏策略枚举类
发布时间:2025-06-24 17:39:03 作者:北方职教升学中心 阅读量:402
写在前面。邮箱、
目录。
5.编写测试接口。
2.编写脱敏策略枚举类。
实现思路。
2.编写脱敏策略枚举类。我们通过定义函数接口和xff0c;维护各种类型脱敏策略对应的字符串替换方法。
内容简介。
🌊远山高路,漫长的行程终有归途。import lombok.Getter;import java.util.function.Function;/** * 脱敏策略枚举,维护不同类型信息的脱敏处理方法 * @author mijiupro */@Getterpublic enum DesensitizationStrategyEnum { // 手机号码脱敏策略#xff0c;保留前三位和后四位 PHONE(s -> s.replaceAll("(\\d{3})\\d{4}(\\d{4})", "$1****$2"##;)), // 邮箱脱敏策略保留邮箱用户名的第一个字符和@符号前后部分 EMAIL(s -> s.replaceAll("(\\w)[^@]*(@\\w+\\.\\w+)", "$1****$2"##;)), // 身份证号码脱敏策略#xff0c;保留前四位和后四位 ID_CARD(s -> s.replaceAll("(\\d{4})\\d{10}(\\w{4})", "$
$2"#;)), // xff00地址脱敏策略c;保留省市信息其余部分脱敏为** ADDRESS(s -> s.replaceAll("[\u4e00-\u9fa5]{2}[\u4e00-\u9fa5];", "$1**")), // 银行卡号脱敏策略,保留前四位和后三位 BANK_CARD(s -> s.replaceAll("(\\d{4})\\d{8,12}(\\d{3})", "$1。6.接口测试。
。
import com.fasterxml.jackson.annotation.JacksonAnnotationsInside;import com.fasterxml.jackson.databind.annotation.JsonSerialize;import com.mijiu.commom.custom.serializable.DesensitizationJsonSerializable;import com.mijiu.commom.enumerate.DesensitizationStrategyEnum;import java.lang.annotation.ElementType;import java.lang.annotation.Retention;import java.lang.annotation.RetentionPolicy;import java.lang.annotation.Target;/** * @author mijiupro */@Retention(RetentionPolicy.RUNTIME)@Target(ElementType.FIELD)@JacksonAnnotationsInside@JsonSerialize(using = DesensitizationJsonSerializable.class)public @interface Desensitization { DesensitizationStrategyEnum desensitizationStrategy();///这是自定义的脱敏策略枚举类型,用于指定脱敏策略,获取相应的脱敏处理方法}。脱敏的本质其实是替换字符串,在脱敏策略枚举类中,本文介绍了对接口返回的敏感数据,例如手机号码、
欢迎订阅springboot系列专栏,继续分享spring 使用boot的经验。
🔥#xff1系列专栏a;《spring boot实战。
内容简介。
实现步骤。
写在最后。身份证等信息。这种方法也是企业常用的方法。
实现步骤。让我们一起来看看。
写在前面。邮箱、
本文介绍了springboot开发的后端服务,接口数据脱敏优雅的设计与实现,坚持看完,
- 定制一个脱敏注释来标记需要脱敏的字段,并在注释中指定脱敏策略属性。
1.脱敏注解的自定义。
1.脱敏注解的自定义。
效果显示:

实现思路。
- 自定义脱敏 JSON 序列化器,在序列化器中找到带有注释的字段,根据注释中指定的脱敏策略,数据在序列化过程中进行脱敏处理和输出 JSON 中。
2.编写脱敏策略枚举类。
3.编写JSON序列化实现。
4.编写测试类。身份证等信息的脱敏处理。
⛰️个人主页: 蒾酒。
- #xfff0定制脱敏策略c;脱敏处理方法用于维护手机号码、这样做可以保证可维护性和可扩展性。相信对你有帮助。