python身份证号和手机号属于个人隐私信息,编一个程序,将用户输入的手机号的4-7位和身份证号的7-14位用 “*” 替换。
时间: 2024-11-04 19:16:27 浏览: 21
在Python中,处理个人信息是非常敏感的操作,需要遵守相关法规保护用户的隐私。下面是一个简单的示例程序,它会接收用户输入的手机号和身份证号,然后对指定位置的数字进行替换:
```python
def mask_sensitive_info(phone_number, id_number):
# 手机号码的4-7位
masked_phone = phone_number[:3] + '*' * 4 + phone_number[8:]
# 身份证号的第7-14位
masked_id = id_number[:6] + '*' * 8 + id_number[19:]
return masked_phone, masked_id
# 获取用户输入
phone = input("请输入您的电话号码(格式如:13812345678):")
id_num = input("请输入您的身份证号码(格式如:123456789012345678):")
# 对敏感信息进行处理并打印
masked_phone, masked_id = mask_sensitive_info(phone, id_num)
print("马赛克后的电话号码:", masked_phone)
print("马赛克后的身份证号码:", masked_id)
相关问题
身份证号和手机号属于个人隐私信息,编一个程序,将用户输入的手机号的4-7位和身份证号的7-14位用 “*” 替换。
为了保护个人信息,你可以编写一个Python程序来处理这个需求。下面是一个简单的示例,它会读取用户输入的手机号和身份证号,并替换指定位置的字符。
```python
def mask_sensitive_info(input_string, masking_length):
# 分割手机号和身份证号的前缀和敏感部分
prefix, sensitive_data = input_string[:masking_length], input_string[masking_length:]
# 使用 "*" 替换敏感数据
masked_data = '*' * len(sensitive_data)
# 返回替换后的字符串
return f"{prefix}{masked_data}"
# 获取用户输入
phone_number = input("请输入您的手机号(格式如13812345678):")
id_card = input("请输入您的身份证号(格式如123456789012345678):")
# 遮盖手机号的第4到7位
masked_phone = mask_sensitive_info(phone_number, 7)
# 遮盖身份证号的第7到14位
masked_id_card = mask_sensitive_info(id_card, 14)
print(f"遮罩后的手机号:{masked_phone}")
print(f"遮罩后的身份证号:{masked_id_card}")
身份证号和手机号属于个人隐私信息,编写程序,将用户输入的手机号的4~7位和身份证号的7~14位用“*”替换。为简化问题,设置用户输入身份证号或手机号带中文描述,中间不加空格或其他符号,即身份证号+18位数字或手机号+11位数字。
保护个人信息是非常重要的,尤其是敏感的手机号码和个人身份证号码。在编写程序时,可以采用以下步骤来实现这个功能:
1. 首先,接收用户的输入,这通常是一个字符串,可能是身份证号或手机号。你可以使用正则表达式来检查输入的长度是否符合预期。
2. 对于手机号,检查其长度是否为11位,如果是,则截取第4到第7位,并用星号(*)替换成原始字符。例如,如果输入是"13912345678",处理后的结果应该是"139****5678"。
3. 对于身份证号,检查其长度是否为18位。如果长度合适,提取第7到第14位并用星号替换,注意在中国身份证号码中,第7到14位是出生日期,包括年、月和日。如输入是"123456789012345678",则变为"1234****56789012"。
```python
def mask_sensitive_info(input_str):
if len(input_str) == 11 and input_str.isdigit(): # 手机号验证
return input_str[:3] + '*' * 4 + input_str[-4:]
elif len(input_str) == 18 and input_str.isnumeric(): # 身份证号验证
return input_str[:6] + '*' * 8 + input_str[-6:]
else:
return "输入的字符串不符合要求,请提供正确的11位手机号或18位身份证号"
# 示例使用
user_input = input("请输入手机号或身份证号(无空格):")
masked_info = mask_sensitive_info(user_input)
print("隐藏部分信息后的字符串:", masked_info)
```
阅读全文