python实现密码强度检测的代码
时间: 2024-09-24 19:08:43 浏览: 46
Python中可以编写一些简单的函数来检测密码的强度。以下是一个基本的示例,这个函数会检查密码是否包含大写字母、小写字母、数字和特殊字符,并计算其长度作为强度的一个指标:
```python
import re
def password_strength(password):
# 验证长度
if len(password) < 8:
return "密码太短,建议至少8位"
# 检查是否包含大写字母、小写字母、数字和特殊字符
has_uppercase = bool(re.search(r"[A-Z]", password))
has_lowercase = bool(re.search(r"[a-z]", password))
has_numbers = bool(re.search(r"\d", password))
has_special_chars = bool(re.search(r"[!@#$%^&*(),.?\":{}|<>]", password))
# 分数计算
strength_score = sum([has_uppercase, has_lowercase, has_numbers, has_special_chars]) * 4
if strength_score == 0:
return "密码过于简单,应包含至少一种字符类型"
elif strength_score <= 3:
return f"密码较弱,得分{strength_score}分"
else:
return "密码较强,安全度较高"
# 测试密码
passwords = ["weak", "Password1!", "StrongPass123", "VeryLongAndSecure_@#"]
for password in passwords:
print(f"{password}: {password_strength(password)}")
阅读全文