手机号脱敏

批量把手机号中间位打码,用于测试数据、日志脱敏和对外展示,本地处理不上传。

手机号脱敏

全部在浏览器本地处理,原始数据不会离开您的电脑,也不写入任何存储。

个人信息处理的基本要求

手机号属于个人信息,在《个人信息保护法》里明确纳入保护范围。对外提供数据、开发测试、日志留存这些场景,如果不做脱敏就属于超范围使用,一旦发生泄露,责任在持有方。

脱敏不是简单打几个星号就完事。判断标准是:脱敏后的数据不能再识别到具体个人,同时仍能满足业务用途。客服核对身份只需要后四位,测试环境造数据不需要真实号码,按用途选规则比一律全打码更实用。

常见疏漏

  • 只脱敏了列表页,详情页和导出功能里还是原文
  • 日志里打印了完整号码,排查问题时又忘了清理
  • 测试库直接用了生产数据,没有任何脱敏
  • 脱敏规则写在展示层,接口返回的仍是明文

最后一条最容易被忽略。脱敏应该在数据出口统一做,而不是指望每个页面自己处理。

脱敏方式对照

方式保留信息适用场景可逆性
掩码替换长度、首尾字符测试数据、展示页面不可逆
中间省略前缀与后缀核对身份、客服查询不可逆
哈希替换无,但同值同哈希需要关联分析的场景不可逆
加密存储完整原文需要还原的业务流程可逆,需密钥
随机替换格式、长度开发测试环境不可逆

选择哪种方式取决于后续是否要还原。客服核对身份用中间省略,开发测试用随机替换,需要保留统计规律又要防泄露用哈希替换。加密虽然可逆,但密钥管理成本高,不是所有场景都值得。

常见问题

脱敏后的号码还能用于统计分析吗?▼
掩码方式会丢失部分信息,但保留的前缀能支撑号段分布统计。如果需要更细的关联分析,用哈希替换,同一个号码始终得到同一个哈希值,既能分组又不可逆。
哈希替换能被反推吗?▼
本工具用的是简单哈希,理论上可以通过穷举手机号空间反推。真实场景如需更强保护,应使用带密钥的 HMAC,密钥单独保管,这样没有密钥就无法批量反推。
批量处理有数量限制吗?▼
没有硬性限制,但一次建议不超过几千条,太多会影响浏览器响应。更大的数据集建议用脚本处理。
脱敏后的数据可以直接给第三方吗?▼
要看用途。完全无法识别个人的数据一般可以;如果通过组合其他字段仍能间接识别到个人,仍属于个人信息,需要按约定处理。对外提供前建议做一次可识别性评估。
日志里的手机号怎么处理?▼
在日志框架层做统一脱敏,而不是在每个打印语句里手工处理。多数日志组件支持自定义转换器,把手机号、身份证、银行卡统一过滤。