用python编写程序 输入密码字符串,判断密码强度
时间: 2023-05-19 09:03:22 浏览: 281
你好,我是C知道。以下是我的回答:
可以使用以下方法来判断密码强度:
1. 密码长度:密码长度应该至少为8个字符。
2. 大小写字母、数字和符号:密码应该包含大小写字母、数字和符号。
3. 避免常见密码:密码不应该是常见的密码,如"123456"或"password"。
4. 避免个人信息:密码不应该包含个人信息,如生日或姓名。
以下是一个用Python编写的程序,可以判断密码强度:
```python
def check_password_strength(password):
# 判断密码长度
if len(password) < 8:
return "密码强度较弱,密码长度应至少为8个字符。"
# 判断是否包含大小写字母、数字和符号
has_uppercase = False
has_lowercase = False
has_digit = False
has_symbol = False
for char in password:
if char.isupper():
has_uppercase = True
elif char.islower():
has_lowercase = True
elif char.isdigit():
has_digit = True
else:
has_symbol = True
if not (has_uppercase and has_lowercase and has_digit and has_symbol):
return "密码强度较弱,密码应包含大小写字母、数字和符号。"
# 判断是否为常见密码
common_passwords = ["123456", "password", "123456789", "12345678", "12345", "1234567", "1234567890", "qwerty", "abc123", "111111", "123123", "admin", "letmein", "welcome", "monkey", "login", "passw0rd", "starwars", "1234", "dragon", "football", "1234567898", "654321", "1234567899", "123321", "666666", "shadow", "master", "66666666", "qwertyuiop", "123456789a", "123456789b", "123456789c", "123456789d", "123456789e", "123456789f", "123456789g", "123456789h", "123456789i", "123456789j"]
if password in common_passwords:
return "密码强度较弱,密码为常见密码。"
# 判断是否包含个人信息
if "birth" in password.lower() or "name" in password.lower():
return "密码强度较弱,密码包含个人信息。"
# 密码强度较强
return "密码强度较强。"
password = input("请输入密码:")
print(check_password_strength(password))
```
希望这个程序能够帮助你判断密码强度。