Python编写一个程序,用户输入密码,密码长度必须大于等于 8位,如果密码满足 10 位以上,数字、大写字母、小写字母、标点符号中一种可以加1分,总计5分,1-5分依次对应密码安全等级为弱,较弱,中,较强和强,使用数字和星号输出密码等级。“
时间: 2023-09-24 21:05:40 浏览: 155
Python项目开发实战-密码学之编写加密程序-编程案例解析实例详解课程教程.pdf
您可以使用以下代码实现:
```python
import re
password = input("请输入密码:")
# 判断密码长度是否大于等于8位
if len(password) < 8:
print("密码长度不足8位,安全等级为弱")
else:
# 计算密码得分
score = 0
if len(password) >= 10:
if re.search("[0-9]", password):
score += 1
if re.search("[A-Z]", password):
score += 1
if re.search("[a-z]", password):
score += 1
if re.search("[^a-zA-Z0-9]", password):
score += 1
if score == 0:
score += 1
# 输出密码等级
if score == 1:
print("密码安全等级:弱")
elif score == 2:
print("密码安全等级:较弱")
elif score == 3:
print("密码安全等级:中")
elif score == 4:
print("密码安全等级:较强")
else:
print("密码安全等级:强")
# 输出密码星号加密
print("密码加密后为:", "*" * len(password))
```
在此代码中,我们首先使用 `input()` 函数获取用户输入的密码,然后使用 `len()` 函数判断密码长度是否大于等于 8 位。如果密码长度不足 8 位,则输出安全等级为弱。否则,我们使用正则表达式判断密码中是否包含数字、大写字母、小写字母、标点符号,并根据得分计算密码的安全等级。最后,使用 `*` 符号对密码进行加密,输出加密后的密码。
阅读全文