python 簡單的資料脫敏

2021-09-12 08:43:16 字數 1423 閱讀 6803

最近要做乙個生產資料提取,涉及到隱私資料脫敏。因提取的資料是比較規範化的資料,就想到了用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.資料替換 要求 ...

資料脫敏技術

敏感資料 如信用卡號碼 個人識別資訊 如社會安全號碼 醫療診斷和甚至非個人的敏感資料 例如公司財務資訊和智財權 的 是由於企業員工和外部人士濫用職權或工作失誤所致。資料脫敏技術的目是通過從客戶端隱藏敏感資料,以防止這些資料的濫用。技術 商提供了多種資料脫敏技術,例如用相似的字元替代一些字段 用遮蔽字...

資料脫敏問題

上面說到,在 涉及客戶安全資料或者一些商業性敏感資料的情況下 對資料進行改造,說明我們要進行改造的資料是涉及到使用者或者企業資料的安全,進行資料脫敏其實就是對這些資料進行加密,防止洩露。對於脫敏的程度,一般來說只要處理到無法推斷原有的資訊,不會造成資訊洩露即可,如果修改過多,容易導致丟失資料原有特性...