Scaffold-Boot-3.0框架使用文档Scaffold-Boot-3.0框架使用文档
首页
快速开始
变更记录
Source
首页
快速开始
变更记录
Source
  • 开始
  • 基础

    • 目录结构
    • 代码生成器
    • 增删改查
    • 异常处理
    • Knife4j(Swagger)文档
    • 登录&登出
    • 系统安全
    • 数据字典
    • Excel处理
    • 文件上传下载
    • 工具类
    • 定时任务
    • 微信集成
    • 短信服务
    • 参数配置
    • 接口限流
    • 日志审计
    • 数据脱敏
    • 网站管理
  • AI开发

    • AI项目工程结构
    • MCP服务
    • AI开发模式介绍
  • 开发规范
  • 常见问题
  • 深入

    • 配置详解-Config类
    • 配置详解-Yml配置文件
  • 生命周期

    • SonarQube代码质量保证
    • 部署到测试环境
    • 部署到正式环境
  • 优秀案例

    • Excel导入完整案例
  • 信创专区

    • 海量数据库
    • 神通数据库
    • 达梦数据库
    • 麒麟v10安装插件
  • 框架升级

数据脱敏

特别提醒

已经不推荐使用DataConvertUtil去实现脱敏+数据字典转换双重操作。如果有脱敏需求,则自行调用DesensitiseUtil处理。

章节简介

此章节介绍如何对敏感数据进行脱敏处理,保护用户隐私信息

功能简介

在实际业务需求中,有一些敏感数据,例如手机号、身份证号等需要进行脱敏处理后再展示。此需求在框架中可通过@Desensitise注解,主动调用工具类方法或配合AOP快捷实现。

配置方式

  1. 开发人员先在需要脱敏的实体类字段上加上@Desensitise注解
@Data
public class UserInfoVO {
    @ApiModelProperty("手机号码")
    @Desensitise
    private String phone;
    
    @ApiModelProperty("身份证号")
    @Desensitise
    private String idCard;
}
  1. 执行脱敏
// 单对象脱敏
UserInfoVO single = new UserInfoVO();
DesensitiseUtil.desensitise(single);

// List 数据脱敏
List<UserInfoVO> list = new ArrayList<>();
DesensitiseUtil.desensitise(list);

// 基于AOP,使用注解脱敏。注意desensitise要标记为true
@DataConvert(desensitise = true)
UserInfoVO getUserInfo(@Param("id") Long id);

3高级用法@Desensitise注解提供了多种脱敏策略,例如手机号、身份证号等。

/**
 * 脱敏方式,默认为自动选择脱敏方式
 */
String mode() default AUTO;

/**
 * 脱敏开始位(包含)
 */
int startInclude() default 0;

/**
 * 脱敏结束位(不包含)
 */
int endExclude() default 0;

/**
 * 自定义转换器类,必须实现 DesensitiseConverter 接口
 * 仅在 mode 为 CUSTOM 时生效
 */
Class<? extends DesensitiseConverter> converter() default DesensitiseConverter.class;
  • 直接打注解,不加任何参数,则系统会自动判断字符串类型,执行脱敏
  • MANUAL模式,则需要指定开始和结束位置,从startInclude到endExclude位置将被脱敏
  • 可以指定脱敏模式,例如手机号、身份证号等,请参照mode枚举值进行配置
  • 当以上需求均不满足是,可以自定义转换器,实现DesensitiseConverter接口,完善自定义逻辑。同时传入mode为CUSTOM,并指定自定义转换器
  • 除CUSTOM模式外,其他脱敏逻辑均基于Hutool实现,可参阅源码了解更多细节
在 GitLab 上编辑此页
最后更新: 2025/11/4 13:25
贡献者: xuew, yangxu
Prev
日志审计
Next
网站管理