数据脱敏
一行一条数据,把手机号、身份证、邮箱、银行卡、IP、姓名里的关键部分替换成 * 或 #,用于日志、工单、截图和测试数据。
默认脱敏规则
每种类型都有一套默认的保留位数,直接粘贴就能用;需要更严格或更宽松时,在选项里填「保留前 N 位」「保留后 N 位」覆盖它,留空表示用默认值。
| 类型 | 默认保留 | 示例 |
|---|---|---|
| 手机号 | 前 3 位、后 4 位 | 13800138000 → 138****8000 |
| 身份证 | 前 6 位、后 4 位 | 110101199003078515 → 110101********8515 |
| 邮箱 | 名称前 1 位,域名不动 | zhangsan@example.com → z*******@example.com |
| 银行卡 | 前 4 位、后 4 位 | 6222021234567890 → 6222********7890 |
| IP 地址 | 保留前 2 段 | 192.168.1.100 → 192.168.*.* |
| 姓名 | 保留姓 | 张三 → 张* |
脱敏是不可逆的:被替换掉的字符直接丢弃,工具不保存原文,也没法从结果还原。需要核对身份时请保留足够位数(比如手机号留前 3 后 4 就能看出归属地),但留得越多,被枚举出来就越容易。
为什么日志和截图里必须脱敏
用户数据出现在比想象中更多的地方:接口日志、异常堆栈、抓包记录、工单截图、客服聊天记录、演示环境和测试账号。手机号和身份证号属于个人信息,一旦落进日志平台、告警群或工单系统,就会被复制到好几个地方,事后清理的成本远高于写入前遮一下。
截图是另一个高频泄漏点:截图里常常同时出现真实号码、内部域名和账号名,发到群里之后就再也收不回来了。写日志时脱敏、发截图前把要粘贴的几行先过一遍这个工具,是最省事的两个习惯。测试数据同理——用真实生产数据做测试,等于把泄漏面扩大了一倍。
批量处理与自动识别
输入支持整列粘贴:一行一条,空行原样保留。默认的「自动识别」按下面的顺序判断每一行:邮箱 → IPv4 → 18 位且校验位正确的身份证 → 15 位身份证 → 16 至 19 位数字(银行卡)→ 7 至 14 位数字(手机号 / 电话,会剥掉 +86 前缀和空格短横线)→ 2 到 4 个汉字(姓名,也认「·」分隔的少数民族姓名)。识别顺序是固定的,所以结果可预测、可复核。
识别不了的行,在默认开启的「严格模式」下会直接报错并指出行号,整批都不会输出。这是故意的:脱敏工具最怕的就是悄悄漏掉一行,把真实数据原样带出去。如果输入里本来就有表头或说明文字,取消勾选严格模式,这些行会原样保留(它们也就不会被脱敏,请自己确认没有泄漏)。
常见问题
位数不够会怎么样,比如 8 位手机号?
自动识别会把银行卡认成身份证吗?
脱敏后的数据能还原吗?
脱敏字符用 * 还是 #?
# 不需要转义,会省一点事;其余场景选哪个都行。