Spring boot注解实现信息脱敏

Spring boot注解实现信息脱敏

@Mask(MaskType.USER) 就是对你字段里的用户名/账号 做脱敏显示


作用

java 复制代码
@Mask(MaskType.USER)
private String username;

效果一般是:

  • 用户名:张三 → 张*
  • 用户名:张三丰 → 张*丰
  • 用户名:li_si → l**i
  • 用户名:wangwu → w***u

规则通常是:
只显示第一个字符 + 最后一个字符,中间用 * 掩盖


常见 MaskType 全家桶

你项目里大概率还有这些:

java 复制代码
@Mask(MaskType.PHONE)    // 手机:138****1234
@Mask(MaskType.USER)     // 用户名:张*三、李*
@Mask(MaskType.ID_CARD)  // 身份证:110***********1234
@Mask(MaskType.EMAIL)    // 邮箱:t***t@qq.com
@Mask(MaskType.BANK_CARD)// 银行卡:6222********1234

它什么时候生效?

  • 接口返回 JSON 给前端时 自动脱敏
  • 日志打印时脱敏
  • 业务代码里拿到的还是真实值,不影响逻辑

相关推荐
苍何4 小时前
开源微信流 Windows,微信聊天记录,可以直接给 Codex 和 Obsidan 了
后端
代码什么用5 小时前
Spring基础使用
java·后端·spring
Su米苏6 小时前
Spring AI 中MCP 与普通 @Tool的区别
java·人工智能·spring
明月_清风6 小时前
Deno 终局来了:从挑战 Node 到被 Cloudflare 收编
前端·后端·node.js
码云数智-园园6 小时前
unique_ptr 还是 shared_ptr?C++ 智能指针选型与内存泄漏实战分析
java·开发语言
老板一杯拿铁6 小时前
Java 异常体系详解:从字节码原理到最佳实践
java
蜗牛互联网6 小时前
Java 17 HttpClient调用文件转写API的超时与失败回退
java·人工智能·后端
禾小西7 小时前
07丨Redis 哨兵机制:主库故障后,如何恢复服务?
java·开发语言·redis
我不是阵雨7 小时前
JDK 21虚拟线程Pinning陷阱:一文拔钉解困
java·开发语言
小卡车5557 小时前
java反射、自定义注解的应用(自定义分页)
java