Spring boot注解实现信息脱敏

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


作用

@Mask(MaskType.USER)
private String username;

效果一般是:

  • 用户名:张三张*
  • 用户名:张三丰张*丰
  • 用户名:li_sil**i
  • 用户名:wangwuw***u

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


常见 MaskType 全家桶

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

@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 给前端时 自动脱敏
  • 日志打印时脱敏
  • 业务代码里拿到的还是真实值,不影响逻辑

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐