資料脫敏python
最近在對資料做脫敏的事情,第一次接觸這方面的,所以將自己的做法記錄了下來,希望對大家有所幫助,僅是自己的一點拙見。
1、資料脫敏定義
資料脫敏(Data Masking),又稱資料混淆、資料漂白、資料去隱私化。是一種為使用者提供虛假資料而非真實資料、防止敏感資料濫用的技術,包括靜態脫敏(通常在非生產資料庫中防止靜態資料的濫用)和動態脫敏(生產資料庫中傳輸資料的脫敏)
2、任務描述
相關單位在將法律文書公佈在網上之前需要將個人的相關資訊進行遮蔽處理,主要需要遮蔽的資訊包括:家庭住址、戶籍地、通訊方式、身份證號、銀行賬號、發票號碼、人名、工作單位等不宜公開的內容
3、具體的做法
(1)地址:家庭住址、戶籍地
例子:
江蘇省徐州市鼓樓區幸福小區幸福路19棟19號1單元110室
第一步,將數字進行脫敏 :
江蘇省徐州市鼓樓區幸福小區幸福路**棟**號**單元**室
第二步,將不需要脫敏的資訊進行保留,即將第一步的結果進行拆分成三部分:
江蘇省徐州市鼓樓區 幸福小區幸福路 **棟**號**單元**室
第三步,根據字典['小區','新村','街道','村委','居委會','社群','鎮','組','路','村','巷','店','鋪','港','街','園','苑','隊','鄉']進行脫敏:
江蘇省徐州市鼓樓區 **小區**路 **棟**號**單元**室
第四步,將上述三部分進行合併:
江蘇省徐州市鼓樓區**小區**路**棟**號**單元**室
即完成了地址的脫敏
(2)數字的脫敏:通訊方式、身份證號、銀行賬號、發票號碼
找到相對應的資料,直接擷取需要保留的位數,剩下的使用*替換
通訊方式:18063481111 1806348****
身份證:32108319731111111 3210831973********
銀行卡號:1234567890783625 123456789078****
發票程式碼:16068765 1606****
(3)人名
第一步,從整份文書中抽取到所有人名
第二步,將同一姓氏的放在一個字典中
第三步,對於僅有一個姓氏的,保留姓氏,名字用“某某”替換
第四步,迴圈訪問一姓氏多人的情況,第一個用“某甲”,第二用“某乙”,依次類推
魏有1 魏某某
姚小德 姚某乙
姚大輝 姚某甲
(4)工作單位
單位的脫敏目前還未找到統一的方法,因為工作單位不是特別的明確,有想法的小夥伴們可以共同交流一下