用Python编写程序,用户输入一个长度不小于 6 的字符串作为密码,检查并判断该密码的 安全强度。若输入密码仅包含数字、小写字母、大写字母和其它字符中的任意一种,则密码 强度为“weak”;若输入密码包含数字、小写字母、大写字母和其它字符中的任意两种,则 密码强度为“b
时间: 2024-09-30 18:09:46 浏览: 43
在 Python 中,你可以使用正则表达式库 re 来检查密码的安全强度。以下是一个简单的示例程序,它会提示用户输入密码,并根据规则判断其安全级别:
```python
import re
def check_password_strength(password):
# 正则表达式模式,匹配所有可能的字符组合
patterns = [
r'^[0-9]{6,}$', # 只有数字
r'^[a-z]{6,}$', # 只有小写字母
r'^[A-Z]{6,}$', # 只有大写字母
r'^?=.*\d.*?=.*[a-z].*?=.*[A-Z].*[!@#$%^&*(),.?":{}|<>]', # 至少包含数字、小写字母和大写字母以及特殊字符
r'.{6,}', # 长度大于等于6
]
strength = "weak"
for pattern in patterns:
if re.match(pattern, password):
if len(password) >= 6 and len(set(password)) > 1: # 检查是否至少包含两种字符类型
strength = "medium" if len(patterns) == 4 else "strong"
break
return strength
# 获取用户输入
password = input("请输入密码 (长度至少6): ")
print(f"密码安全强度: {check_password_strength(password)}")
# 相关问题:
阅读全文