最近要做乙個生產資料提取,涉及到隱私資料脫敏。因提取的資料是比較規範化的資料,就想到了用python的string特性來做。
對於指定分隔符或者定長的檔案,使用python來實現是比較得心應手的。很簡單,幾行**完成。
#!/usr/bin/env python3
sourcefilepath = "c:/users/mingjie1212/desktop/intellij idea/123.txt"
# 123.txt檔案
# 1|2|333333333333|aaaaaaaaaa|4444444444444|
# 1|2|333333333333|aaaaaaaaaa|4444444444444|
# 1|2|333333333333|aaaaaaaaaa|4444444444444|
# 1|2|333333333333|aaaaaaaaaa|4444444444444|
# 1|2|333333333333|aaaaaaaaaa|4444444444444|
# 1|2|333333333333|aaaaaaaaaa|4444444444444|
# 1|2|333333333333|aaaaaaaaaa|4444444444444|
replace_key = '******'
#首先讀取檔案
with open(sourcefilepath, 'r', encoding='utf-8') as f:
contents = f.readlines()
# 特殊字段分割 脫敏指定列字元,如脫敏第4列
column_num=4
for line in contents:
temp = line.split("|")
org_str = temp[column_num-1]
replace_str = org_str[0:3] + replace_key + org_str[5:]
target_line = ""
for i in range(len(temp)):
if i == column_num-1:
target_line = target_line + "|" + replace_str
elif i == len(temp) - 1:
target_line = target_line + temp[i]
else:
target_line = target_line + temp[i] + "|"
print(target_line)
# 定長檔案 脫敏指定列字元
for line in contents:
replace_str = line[0:3] + replace_key + line[5:]
print(replace_str)
參考: 位址 脫敏規則 資料脫敏的處理方法
背景 需要在非生產環境下對敏感資訊進行資料脫敏,實現敏感隱私資料的可靠保護。脫敏資料特徵 1.保持原有資料特徵 例如身份證由17位數字本體碼和1位檢驗碼組成。2.保持資料之間一致性 出生年月和出生日期之間的關係。3.保持業務規則的關聯性。4.多次脫敏之間的資料一致性。脫敏的方法 1.資料替換 要求 ...
資料脫敏技術
敏感資料 如信用卡號碼 個人識別資訊 如社會安全號碼 醫療診斷和甚至非個人的敏感資料 例如公司財務資訊和智財權 的 是由於企業員工和外部人士濫用職權或工作失誤所致。資料脫敏技術的目是通過從客戶端隱藏敏感資料,以防止這些資料的濫用。技術 商提供了多種資料脫敏技術,例如用相似的字元替代一些字段 用遮蔽字...
資料脫敏問題
上面說到,在 涉及客戶安全資料或者一些商業性敏感資料的情況下 對資料進行改造,說明我們要進行改造的資料是涉及到使用者或者企業資料的安全,進行資料脫敏其實就是對這些資料進行加密,防止洩露。對於脫敏的程度,一般來說只要處理到無法推斷原有的資訊,不會造成資訊洩露即可,如果修改過多,容易導致丟失資料原有特性...