脱敏算法—地址脱敏

常用的地址脱敏实现效果包括:

  1. 隐藏部分信息:将地址中的敏感信息部分替换为特定字符,如将具体门牌号替换为"*"或"X"等。

  2. 省略部分信息:将地址中的敏感信息部分省略,只显示一部分信息,如只显示省份和城市,而不显示具体街道和门牌号。

  3. 完全脱敏:将整个地址都替换为特定的符号或字符。例如,将整个地址替换为"***"或者随机生成的字符串。这种方法可以完全隐藏地址的内容,但可能会导致地址无法识别。

  4. 加密处理:对地址进行加密处理,将敏感信息转换为不可读的密文,只有授权的人才能解密还原。

  5. 哈希脱敏:使用哈希算法对地址进行处理,将地址转换为一串固定长度的哈希值。这种方法可以保证地址的一致性和唯一性,但无法还原出原始地址。

  6. 脱敏编码:使用特定的编码算法对地址进行脱敏处理,将敏感信息转换为一串无意义的编码,只有授权的人才能还原。

  7. 生成虚拟地址:根据原始地址生成一个虚拟地址,与真实地址无关,保护真实地址的隐私。

省略信息 

import pandas as pd
import re

def truncate_address(address):
    pattern = r'(.+省)?(.+市)?(.+自治区)?(.+行政区)?.+'
    match = re.match(pattern, str(address))   #这里正则匹配的是字符串,但是获得的数据是类型为bytes,类型不符合报错,要将传入的参数转化为string类型
    if match:
        province = match.group(1)
        city = match.group(2)
        region = match.group(3)
        administ_region = match.group(4)
        if province and city:
            return province + city
        elif province:
            return province
        elif region and city:
            return region + city
        elif region:
            return region
        elif administ_region:
            return  administ_region
        elif city:
            return city
    return address


df = pd.read_csv('addresses.csv', encoding="utf-8",sep=',')
print(df.head())

address_list = df['Address']
# 遍历替换 调用函数
for i in range(len(address_list)):
    add = address_list[i]
    truncated_address = truncate_address(add)
    #print(truncated_address)
    address_list[i] = truncated_address
print(df)

# 保存文件
#df.to_excel('wuli.xlsx', index=False)
#df.to_csv('outputs.csv', index=False)

隐藏具体门牌号

s = "北京市朝阳区发和小区1号楼2单元303室"
print(re.sub(r'[0-9]', 'X', s))    #匹配单一数字
print(re.sub(r'[0-9]+', 'X', s))   #匹配多个数字

s1 = '浙江省郑州市西峰江路b座 878237'
print(re.sub(r'[0-9A-Za-z]', 'X', s1))   #匹配数字与字母
'''
北京市朝阳区发和小区X号楼X单元XXX室
北京市朝阳区发和小区X号楼X单元X室
浙江省郑州市西峰江路X座 XXXXXX
'''
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值