什么是文本脱敏
文本脱敏是将敏感信息部分遮蔽的过程,常用于日志发布、截图分享、数据测试等场景。例如(示例数据均为虚构,手机号用 170 虚拟号段、身份证用 990000 假区划):
手机号: 17012345678 → 170****5678
身份证: 990000199003071234 → 990000****1234
邮箱: test@gmail.com → t***@gmail.com
银行卡: 6222021234567890 → 6222****7890
脱敏规则
| 类型 | 默认规则 | 示例 |
|---|---|---|
| 手机号 | 保留前3后4 | 170****5678 |
| 身份证 | 保留前6后4 | 990000****1234 |
| 邮箱 | 用户名首尾各1位 | t***t@gmail.com |
| 银行卡 | 保留前4后4 | 6222****7890 |
| 自定义 | 自定义正则和保留位 | 灵活配置 |
提示:脱敏后的文本可以通过"还原"功能恢复(前提是你知道原始值),适合临时打码后需要还原的场景。
日志脱敏落地建议
把脱敏从"人工习惯"变成"工程保障"的几条实践:
- 入口统一:日志工具封装一层脱敏中间件,禁止业务代码直接打印原始敏感字段。
- 正则先行:手机号、身份证、银行卡有固定模式,入库前先用正则扫描兜底;本工具输出的规则示例可直接搬去写正则。
- 测试环境全脱敏:测试库常被外发给外包或三方联调,按"全脱敏"口径处理最稳妥。
- 留痕可审计:谁在什么时间解密/查看过敏感字段要有日志,方便事后追责。
注意:脱敏后的数据不可逆是常态——需要可逆的场合应使用加密而非脱敏,两者不要混用。