PIIFileScanner检测匹配工具与服务后端交互数据详解
嘟嘟的爸爸
嘟嘟的爸爸
信息时代的犯罪侦查
2026年10月6日 15:14
北京
在小说阅读器读本章
去阅读
在公众号小说中沉浸阅读
编者按
笔者需要对几个大家关心、关注问题进行详述。
一、人工智能时代,为什么还要在桌面端开展此项工作?
本软件针对的目标,绝大多数是包含了海量数据、针对不特定人群的数据文件。不论是按照工作纪律,还是个人内心确信,都很难放心把这些文件提交给AI平台进行处理(除非是私有化部署的AI平台)。果真如此的话,这些数据文件或许会成为AI训练的素材。
另外,把所有的数据文件提交给一个集中化部署的节点进行后台处理是否妥当?笔者想说的是,最初确实也像构建这样一个平台,但考虑到多方面因素,如:工作管辖权的问题、海量数据给单点带来的处理压力、未知的敏感信息泄露风险等等。
二、本软件运行期间向后台服务器提交的数据包括哪些?
1、登录信息,提交{\"username\":\"user112\",\"password\":\"00000000\"}
2、正则表达式管理信息
{\"action\":\"get\_categories\",\"user\_id\":5,\"token\":\"e0fb842e38f0620ac332064c19a5df23560deb560c169af62cd381b9963d8c64\"}
3、正则匹配结果信息
{\"action\":\"upload\_match\",\"matches\":[{\"end\_time\":\"2026-09-16 18:46:05\",\"file\_name\":\"20250906.sql\",\"match\_count\":0,\"md5\":\"46759474576adf6903332a2c6bb24a3f\",\"regex\_id\":2,\"start\_time\":\"2026-09-16 18:45:56\"},{\"end\_time\":\"2026-09-16 18:48:06\",\"file\_name\":\"20250906.sql\",\"match\_count\":13,\"md5\":\"46759474576adf6903332a2c6bb24a3f\",\"regex\_id\":3,\"start\_time\":\"2026-09-16 18:46:05\"},{\"end\_time\":\"2026-09-16 18:48:10\",\"file\_name\":\"20250906.sql\",\"match\_count\":5009,\"md5\":\"46759474576adf6903332a2c6bb24a3f\",\"regex\_id\":4,\"start\_time\":\"2026-09-16 18:48:06\"},{\"end\_time\":\"2026-09-16 18:48:13\",\"file\_name\":\"20250906.sql\",\"match\_count\":111,\"md5\":\"46759474576adf6903332a2c6bb24a3f\",\"regex\_id\":5,\"start\_time\":\"2026-09-16 18:48:10\"}],\"token\":\"7e1b5778f5f75958189d772da18b056afaa9e0038a58911eeb7a6f667fdd8dd1\",\"user\_id\":5}
4、云端验重信息
{\"action\":\"check\_unique\",\"md5\":\"46759474576adf6903332a2c6bb24a3f\",\"regex\_id\":3,\"token\":\"31d83ebf950e4e5fcdba2cd86a0da333dc1459c6e17ad361388e9edaa2fe3258\",\"user\_id\":5}
注:正则匹配的过程只会检测符合格式要求的数量,不会识别特定信息内容,更不会上传信息本身,这也是开展此类工作所依赖的重要技术原理。
三、精确正则的编写要求
本软件研发过程中使用了符合Boost和Perl的正则规则,也是当前最主流的正则语法规则,编写更加精确的正则表达式,建议遵循以下提示。
1.锚定边界:用 ^ 和 $ 限定整行或整串匹配,避免子串误命中;必要时用 \b 锁定单词边界。
2.明确字符集:尽量用 [0-9]、[A-Za-z] 等显式范围,少用 .;确需通配时,用 [^...] 排除干扰字符。
3.量词要克制:优先用 {n,m} 精确次数,慎用 \*、+;能确定长度就写死,避免贪婪匹配带来回溯。
4.善用非贪婪与分组:需要最短匹配时加 ?(如 .\*?);用 () 分组并配合 ?: 取消不需要的捕获,减少副作用。
5.转义与模式选项:对 .、\*、( 等元字符必须转义;按需启用 regex\_constants::icase、no\_mod\_s 等标志,明确大小写与点号行为。
总之,精确正则应做到“边界清、字符明、量词稳、分组准”,再结合 Boost.Regex 的语法选项反复测试,才能稳定可靠。
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。











评论