python编写身份证脱敏程序。身份证和手机号脱敏是指将身份证中有关出生年月日的信息和手机中间4位数,用***表示,并将脱敏后的数据按照原文件的格式保存在文件中。如: 350101********1234,137****0010。
时间: 2023-12-18 12:29:25 浏览: 167
以下是Python编写身份证脱敏程序的示例代码:
```python
import re
def id_card_desensitization(id_card):
# 判断身份证号码是否合法
if not re.match(r'^\d{17}[\dX]$', id_card):
return '身份证号码不合法'
# 身份证号码脱敏
return id_card[:6] + '********' + id_card[14:]
def phone_desensitization(phone):
# 判断手机号码是否合法
if not re.match(r'^1\d{10}$', phone):
return '手机号码不合法'
# 手机号码脱敏
return phone[:3] + '****' + phone[7:]
# 读取文件
with open('input.txt', 'r') as f:
data = f.read()
# 身份证号码脱敏
data = re.sub(r'\b\d{17}[\dX]\b', lambda x: id_card_desensitization(x.group()), data)
# 手机号码脱敏
data = re.sub(r'\b1\d{2}\d{4}\d{4}\b', lambda x: phone_desensitization(x.group()), data)
# 将脱敏后的数据按照原文件的格式保存在文件中
with open('output.txt', 'w') as f:
f.write(data)
```
该程序使用正则表达式判断身份证号码和手机号码是否合法,并对其进行脱敏处理。脱敏后的数据按照原文件的格式保存在文件中。
阅读全文