python身份证号脱敏,输入一个18位的身份证号,输出替换之后的字符串
时间: 2024-05-13 15:20:42 浏览: 193
可以使用字符串切片和字符串拼接来实现身份证号脱敏。具体实现如下:
```python
id_card = input("请输入18位身份证号:")
# 判断输入的身份证号是否合法
if len(id_card) != 18 or not id_card[:-1].isdigit() or (id_card[-1] != 'X' and not id_card[-1].isdigit()):
print("输入的身份证号不合法!")
else:
# 替换前14位为*
id_card = id_card[:6] + '*' * 8 + id_card[14:]
# 替换最后4位为*
id_card = id_card[:-4] + '*' * 4
print("替换后的身份证号为:", id_card)
```
示例输出:
```
请输入18位身份证号:110101199003071234
替换后的身份证号为: 110101********12**
```
注意,这里只是简单地替换了身份证号的部分字符,不能保证信息的完全安全。在实际应用中,需要根据具体情况采用更加安全的方法来保护个人隐私。
相关问题
python身份证生日脱敏
在Python中,身份证号码通常包含敏感信息,为了保护个人隐私,我们经常需要对其中的出生日期部分进行脱敏处理。一种常见的做法是将生日字符串替换为“*”或其他星号表示的部分。这通常是通过截取前四位和后四位(或者全填*号)来实现的。下面是一个简单的例子:
```python
def anonymize_birthday(birth_date_str):
# 示例中的出生日期格式:YYYY-MM-DD
if len(birth_date_str) == 8: # 如果只有四位数字,假设是四位年份
return birth_date_str[0] + '*' * (len(birth_date_str) - 2) + birth_date_str[-2:]
else:
return birth_date_str[:4] + '*' * 4 + birth_date_str[-4:]
# 使用示例
original_birthdate = '19900101'
anonymized_birthdate = anonymize_birthday(original_birthdate)
print(anonymized_birthdate) # 输出:1990****01
```
身份证号脱敏python
身份证号码脱敏是一种数据隐私保护技术,通常在处理包含敏感信息的数据时使用,比如在公开的数据或报告中,为了不泄露个人身份,会将身份证号的部分数字替换为星号(*)或其他符号。在Python中,可以通过字符串操作和正则表达式来实现这个功能。
以下是一个简单的例子,展示如何使用Python对身份证号进行部分脱敏:
```python
import re
def anonymize_id(id_number):
# 身份证号一般由18位组成,前6位+中间8位+最后4位
pattern = re.compile(r'^(\d{6})(\d{8})(\d{4})$')
match = pattern.match(id_number)
if match:
# 保留前6位和最后4位,中间8位用*替换
return f'{match.group(1)}****{match.group(3)}'
else:
return id_number # 如果不是有效的18位身份证号,则直接返回
# 示例
id_to_anonymize = '123456789012345678'
anonymized_id = anonymize_id(id_to_anonymize)
print(anonymized_id)
```
阅读全文