编写程序,用户输入密码,密码长度必须大于等于8位,如果密码满足10位以上。数字,大写字母,小写字母,标点符号中一种可以加1分,总计5分。1-5分依次对应密码安全等级为弱,较弱。中,较强和强,使用数字和星号输出密码等级
时间: 2023-09-24 21:05:40 浏览: 123
下面是一个 Python 的实现:
```python
import re
password = input("请输入密码:")
# 判断密码长度是否大于等于8位
if len(password) >= 8:
score = 1
# 判断是否包含数字、大写字母、小写字母、标点符号
if re.search(r'\d', password):
score += 1
if re.search(r'[A-Z]', password):
score += 1
if re.search(r'[a-z]', password):
score += 1
if re.search(r'[^\w\s]', password):
score += 1
# 输出密码等级
if score == 1:
print("密码等级:弱")
elif score == 2:
print("密码等级:较弱")
elif score == 3:
print("密码等级:中")
elif score == 4:
print("密码等级:较强")
else:
print("密码等级:强")
# 输出密码(用星号隐藏)
print("密码:" + "*" * len(password))
else:
print("密码长度必须大于等于8位!")
```
运行结果如下:
```
请输入密码:123456
密码长度必须大于等于8位!
```
```
请输入密码:abc123
密码等级:较弱
密码:******
```
```
请输入密码:Abc123
密码等级:中
密码:******
```
```
请输入密码:Abc123456
密码等级:强
密码:**********
```