隐私安全

给截图打码:马赛克与模糊的正确用法

轻度马赛克和模糊并不总是不可逆的。这篇讲清楚截图打码该用哪种方式、强度要多大,以及发布前必须检查的清单。

visdraw 团队阅读约 7 分钟

发一张截图是很日常的事:提个 bug、把看板放进汇报、回复工单、提交报销凭证。发完之后的那一小阵心慌也很常见——你忽然注意到侧边栏里的客户邮箱,或者页头的账户号码。打码看起来是件小事,涂一层模糊似乎就够了,但现实中不少已发布的打码并没有真正遮住敏感内容。

打码为什么会失效

  • 文字上的弱马赛克是可以被攻击的。 马赛克是一个确定性变换。在字体已知、字符集有限的情况下——一串数字、一个邮箱地址——攻击者可以逐个渲染候选字符串、施加同样的马赛克、再比对结果。已有公开研究和现成工具在真实截图上验证过这一点。
  • 轻度模糊会留下可恢复的结构。 模糊半径较小时,边缘信息仍然充足,锐化或反卷积有机会把文字还原到可读状态。
  • 某些工具的裁剪并没有真的删掉像素。 部分文件格式和编辑器会在保存时保留被裁掉的区域。如果你靠裁剪来隐藏内容,请检查导出后的文件,而不是想当然。
  • 打码框之外的一切都在泄露。 地址栏、标签页标题、通知横幅、窗口标题里的姓名、头像、图表的形状。你画的那个框,往往不是画面里唯一的线索。
  • 元数据会活下来。 位置、设备、原始时间戳,有时甚至包含一张未编辑图像的缩略图,都可能存在 EXIF 里。

马赛克、模糊,还是不透明遮挡?

方式适合注意
不透明遮挡密码、令牌、账户号码、证件号码,以及受法律或合规要求保护的内容视觉上较生硬;在 visdraw 中可用 100% 不透明画笔充分涂盖
马赛克演示中的人脸、姓名和地址,为博客整理截图色块尺寸必须相对文字足够大,数字上的小色块是无效的
模糊背景、Logo,以及只需柔化而非抹除的上下文小半径可逆。如果眯起眼还能认出来,强度就不够

一个实用的强度判据:每个色块至少要和被遮盖文字的高度一样大。 如果一行文字高 16 像素,4 像素的马赛克是装饰而不是打码。达到这个比例时,你应该连原本有几个字符都看不出来。

一套靠得住的打码流程

  1. 1

    只截真正需要的那一小块

    只截目标面板或区域,而不是整个桌面。多出来的每一个像素都是一项要检查的内容;区域截图还能避开无关窗口、桌面通知和任务栏信息。

  2. 2

    先裁剪,再打码

    在最终导出的位图中,能直接裁掉的区域通常比遮盖更稳妥。先裁剪,只给真正必须留在画面里的内容打码,并检查导出文件是否确实不再包含被裁区域。

  3. 3

    按内容选方式,而不是按图片选方式

    账户号码用 100% 不透明画笔充分覆盖,客户姓名可按风险选择马赛克,构成截图重点的部分不动。一刀切的处理通常意味着无害的地方打得太多,关键的地方打得太少。

  4. 4

    边缘要盖过头一点

    向四周多延伸几个像素。字母的上下出头部分和抗锯齿边缘即使露在框外,仍然在描述这些字符。

  5. 5

    导出为拍平的位图格式

    PNG 或 JPG。打码成为像素数据的一部分,不存在可以被单独移除的图层、对象或批注。

  6. 6

    重新打开导出的文件检查一遍

    打开你即将发出去的那个文件,放大到 300%~400%,用“我要尽量识别它”的心态检查一遍。这最后几十秒能拦下大多数疏漏。

发布前检查清单

  • 浏览器地址栏、标签页标题、书签栏
  • 通知横幅、角标与未读数
  • 页头、侧边栏、评论区里的用户名与头像
  • 输入框的自动补全下拉与最近使用列表
  • 内部主机名、IP、工单号与测试环境地址
  • 如果是拍屏照片,注意屏幕上的反光倒影
  • 文件名——发票-某某公司-2026.png 本身就说了不少
  • 相机照片的 EXIF:定位、设备、原始拍摄时间

别忘了文件本身

截图通常携带的元数据不多,照片则相反。一张用手机拍的白板照,可能带着足以定位到具体楼栋的 GPS 坐标。经过编辑器重新导出通常会丢掉大部分元数据,但稳妥的做法是检查而不是假设——顺手把文件名也改成一个中性的名字再发出去。

常见问题

马赛克过的文字真的能被还原吗?

在特定条件下可以。当字体、排版和字符集受限时——一串数字、一个邮箱、一个已知的界面——可以逐个渲染候选字符串、施加同样的马赛克再比对。这方面有公开工具存在。真正重要的内容请用 100% 不透明画笔充分覆盖并导出拍平位图。

马赛克强度要多大?

每个色块至少要和下面文字的高度相当,最好更大。如果你还能数出有几个字符,就该继续加大色块尺寸。

给人脸打码用模糊还是马赛克?

强度足够时两者都可以,马赛克更容易判断,因为它的强度是肉眼可见的。建议覆盖整个头部而不只是五官——发型、眼镜、首饰和体态同样具有识别性。

在线打码需要先上传截图吗?

不需要,也不建议。visdraw 通过 WebGL、Canvas 等浏览器能力在本地处理图像,含敏感信息的截图不会作为编辑素材上传到 visdraw 服务器。

打过码的截图该导出成什么格式?

界面截图用 PNG,无损且文字锐利。避免使用会把图层或批注单独保存的格式,因为可分离的图层意味着可被移除。参见 导出格式指南

继续阅读