手动在 200 页的 PDF 中搜索每个信用卡号并单独编辑每个信用卡号是一项繁琐、缓慢且容易出错的危险操作。一个丢失的号码就构成了可预防的数据泄露。使用模式匹配的PDF 密文 通过查找与指定格式(例如 16 位信用卡号)匹配的每个文本字符串来自动执行此过程,并在单个操作中将密文标记应用于整个文档中的所有实例。
模式匹配也称为正则表达式或正则表达式匹配,定义文本模式而不是特定字符串。该模式捕获敏感数据的格式,而无需事先知道确切的值。当编辑工具运行时,它会搜索文档中的所有文本以查找与模式的匹配项,记录页面上每个匹配项的位置,并在这些位置上绘制不透明的黑色矩形。然后,底层文本将被永久删除。
WukongPDF 的PDF 安全 工具包括基于模式的编辑功能,可在文档共享或发布之前自动删除敏感数据。

基于模式的密文如何在 PDF 文本图层上工作
基于模式的编辑作用于 PDF 的文本层,而不是其视觉外观。该工具从每个页面中提取所有文本内容,根据指定的正则表达式模式搜索匹配项,并记录每个匹配项的确切位置。然后,它在这些位置上绘制不透明的黑色矩形,并永久删除底层文本字符,用无法恢复的空白替换它们。
基于模式的密文的一个关键限制是它只能找到存储为实际字符的文本。仅作为扫描图像的一部分而不是作为可选文本存在的信用卡号将不会被发现。对于扫描文档,您必须首先运行 OCR 以创建文本图层,然后对 OCR 输出运行基于模式的密文。即使这样,OCR 错误也可能导致模式匹配丢失一些数字。
正则表达式模式还必须考虑 PDF 在内部存储文本的方式。向读取器显示为 1234 5678 9012 3456 的信用卡号可以在内部存储为四个单独的文本块,它们之间有空格。该模式需要足够灵活,以跨越这些内部边界进行匹配,这意味着允许在数字组之间使用可选的空格、连字符或其他分隔符。
尝试编辑 PDF
无需安装。直接在您的浏览器中工作。
为信用卡号创建精确的正则表达式模式
信用卡号码模式必须平衡精确性和完整性。与格式 1234-5678-9012-3456 完全匹配的模式会捕获用连字符编写的数字,但会错过以 1234567890123456 或 1234 5678 9012 3456 编写的相同数字。过于宽泛的模式(例如任何恰好 16 位数字的序列)会捕获帐号、电话号码和其他应该包含的数字标识符。不被编辑。
在数字组之间使用可选分隔符构建模式。每组四位数字之间允许使用连字符、空格或无分隔符的表达式涵盖了三种最常见的信用卡号码格式。在提交完整密文之前,在文档副本上测试模式。检查每个匹配项以确认该模式找到了所有预期的敏感数据,并且与任何应保持可见的内容不匹配。
对于包含多种类型敏感数据的文档,请为每种类型创建单独的模式,并将它们作为单独的密文传递运行。信用卡号码只有一种模式和一张通行证。社会安全号码又是一个。电子邮件地址位居第三。单独的传递和单独的审查可以防止一种模式的误报干扰另一种模式的正确匹配。
分步:在 Acrobat Pro 中运行模式编辑
在 Adobe Acrobat Pro 中打开 PDF,然后转到“工具”,然后转到“密文”。在“密文”工具栏中,单击“标记为密文”旁边的下拉列表,然后选择“查找文本”。在搜索字段中输入正则表达式模式,然后选中“使用正则表达式”框。 Acrobat 搜索整个文档并在搜索结果面板中显示每个匹配项的列表(按页码组织)。
在应用编辑之前查看每场比赛。单击面板中的每个匹配项可跳转到其在页面上的位置。验证匹配的文本是否真正包含应编辑的敏感数据。如果任何匹配为误报,请在匹配列表中取消选中它。查看所有匹配项后,单击“标记已检查结果以进行密文”。 Acrobat 在所有选中的项目上放置密文标记。最后,单击工具栏中的“应用密文”以永久删除标记的文本。
应用密文后,将文件保存在新名称下,以明显区别于原始文件。原始的未编辑文件应安全存储或销毁。编辑后的文件现在可以安全地分发,因为敏感文本已从文档数据中永久删除,而不仅仅是被视觉覆盖层覆盖。
验证编辑是否完成
完成后,应用基于模式的密文后,在共享文档之前验证您的工作。打开经过编辑的 PDF 并搜索原件中存在的已知信用卡号。搜索应返回零结果。选择每个页面上的所有文本并将其复制到纯文本编辑器。复制的文本不应包含信用卡号码或部分号码。
在文档工作流程中,对于如果编辑失败会产生法律或监管后果的文档,请让第二个审阅者独立验证输出。第二位审阅者搜索已知的敏感模式并目视扫描每一页。独立审阅者会发现原始审阅者由于熟悉文档内容而可能错过的错误。
即使在自动验证之后,目视检查仍然是必要的。模式匹配适用于可选择的文本。它无法检测仅出现在图像中的信用卡号码,例如嵌入 PDF 中的信用卡照片或扫描表格上的手写号码。对于这些情况,需要使用密文工具的绘图模式进行手动密文。
处理边缘情况和非标准格式
信用卡号有时会以非标准格式出现,无法满足简单的正则表达式模式。分成两行文本的数字、每个数字之间有空格的数字或嵌入较长数字字符串(如帐户参考)中的数字都需要模式细化或手动审核。
在文档工作流程中,对于跨行换行的数字,请扩展模式以允许换行符作为数字组之间的可选分隔符。对于嵌入较长字符串中的数字,请在正则表达式中使用字边界断言,以确保匹配的数字是独立数字,而不是较大标识符的一部分。尽管进行了这些改进,一小部分敏感数据始终会逃避自动检测并需要手动识别。
在手动审核期间记录您的发现,以提高未来模式的准确性。如果特定的非标准格式出现在同一来源的多个文档中,请开发专门针对它的模式。经过连续的修订项目,模式库变得更加全面,人工审查负担也减轻了。
| 模式 | 比赛 | 最适合 |
|---|---|---|
| \d{4}[- ]?\d{4}[- ]?\d{4}[- ]?\d{4} | 带有可选分隔符的 16 位卡 | 维萨卡、万事达卡、发现卡 |
| \d{3}-\d{2}-\d{4} | 美国社会安全号码格式 | 税务文件中的 SSN 编辑 |
| [A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,} | 电子邮件地址 | 联系信息删除 |
构建可重用的密文模式库
定期编辑 FOIA 回复、法庭文件或公共记录发布文档的组织应投资构建可重用的模式库。在将其添加到库之前,在代表性文档样本上测试每个模式。记录哪些模式适用于哪些文档类型。在整个团队中共享库,以便每个成员都应用一致的编辑标准。
从实践的角度来看,在实践中,模式库不仅应该包括正则表达式,还应该包括每个模式何时应该应用、何时不应该应用的注释。美国社会安全号码的模式不应应用于非美国来源的文件。 16 位信用卡号的模式应注意帐号误报的风险。清晰的应用指南可以防止在不适合使用模式的环境中滥用模式。
至少每年审查和更新模式库。支付卡格式不断发展。新型敏感数据通过监管出现。随着文档格式的变化,旧模式可能会出现误报问题。维护的模式库是一项活的组织资产,每次使用都会改进。
基于模式的编辑将手动查找和编辑敏感数据的每个实例的繁琐且危险的任务转变为需要人工验证的自动化过程。该模式找到匹配项。人类证实了它们。它们共同产生的编辑质量是任何一个都无法单独实现的。
存档合规审计的编辑记录
完成后,在完成敏感的编辑项目后,归档所使用的模式、找到和编辑的匹配项数量以及验证输出的审阅者的身份。该文档作为审计记录,证明遵循了系统的编辑流程。如果发生数据泄露调查或合规性审计,编辑记录将提供尽职调查的证据。
从广义上看,实际上,审核记录应包括原始文件名、编辑日期、应用的具体模式、每个模式找到的匹配总数以及审查和批准编辑输出的人员姓名。每个编辑项目结束时完成的简单文本文件或电子表格模板只需几分钟即可填写,并提供持久的合规价值。
对于受 PCI-DSS、HIPAA 或 GDPR 等规定特定数据保护措施的法规约束的组织,记录的修订程序可支持合规性演示。这些程序表明,组织有一个定义的、可重复的流程,可以在文档离开受控环境之前从文档中删除敏感数据。
尝试编辑 PDF
无需安装。直接在您的浏览器中工作。
