分享一个自用的文档脱敏小工具
前阵子整理客户资料的时候,发现很多文档里都有手机号、身份证号这些敏感信息 😅 手动一个个改太麻烦了,就顺手写了个小工具。用了一段时间感觉还行,分享给大家~
最后面会有开发思路分享。
🎯 能做什么
简单说就是帮你自动把文档里的敏感信息打码:
✅ 支持 Word 和 Excel,日常办公够用了
✅ 手机号、固定电话、身份证号都能识别
✅ 如果你想脱敏别的内容,可以自己写匹配规则
✅ 替换符号可以改,也可以保留后几位(比如手机号留后4位)
✅ 有些内容不想脱敏?可以设白名单,不替换
✅ 能批量处理,省得一个个点
✅ 处理前可以先预览,看看识别得对不对
✅ 文档格式不会乱,原来多少个字,替换后就是多少个*号
👥 适合谁用
💼 经常要处理员工信息、客户资料的行政、HR
💰 做财务的,账单、报表需要脱敏后发给别人
📊 搞数据分析的,分享报告时要隐藏敏感字段
💡 怎么实现的
这个工具最核心的就是怎么找到敏感信息并替换掉。思路其实挺直接的:
第一步:定义匹配规则 🔍
用正则表达式来识别不同类型的敏感信息。
比如手机号,要排除掉银行卡号、身份证号这种长数字串的干扰,
所以加了前后边界判断:
举个例子,手机的正则是这个: r'(?<![\d])1[3-9]\d{9}(?![\d])'
不懂的朋友也没关系,先有个印象,开发的时候直接上提示词即可。
第二步:处理文本 📝
核心逻辑就几件事:
1、把用户选的规则编译好,用户是可以自己写正则或者字符串
2、扫描文本,找出所有匹配的位置
3、用*号或者其他符号替换,保持跟原来字符串一样的长度
第三步:处理文档 📂
Word 和 Excel 分开处理:
📄 Word 要遍历段落、表格、页眉页脚
📊 Excel 要遍历每个单元格,替换的时候注意保留原来的字体、颜色、边框这些样式
🛠️ 用的技术
Python + Tkinter 做界面
python-docx 读写 Word
openpyxl 读写 Excel
代码结构还算清晰,想参考的朋友可以看看 👀
强烈建议平时处理敏感信息比较多的朋友试试看,
如果不懂技术也可以直接把提示词塞给AI。
#用户隐私安全 #办公软件 #ai编程 #ai应用 #大模型 #vibecoding #agent #ai工具 #ai软件 #ai
夜雨聆风