你好
最好的方法是使用正则表达式搜索
这是我目前使用的功能
def password_check(password):
"""
Verify the strength of 'password'
Returns a dict indicating the wrong criteria
A password is considered strong if:
8 characters length or more
1 digit or more
1 symbol or more
1 uppercase letter or more
1 lowercase letter or more
"""
# calculating the length
length_error = len(password) < 8
# searching for digits
digit_error = re.search(r"\d", password) is None
# searching for uppercase
uppercase_error = re.search(r"[A-Z]", password) is None
# searching for lowercase
lowercase_error = re.search(r"[a-z]", password) is None
# searching for symbols
symbol_error = re.search(r"[ !#$%&'()*+,-./[\\\]^_`{|}~"+r'"]', password) is None
# overall result
password_ok = not ( length_error or digit_error or uppercase_error or lowercase_error or symbol_error )
return {
'password_ok' : password_ok,
'length_error' : length_error,
'digit_error' : digit_error,
'uppercase_error' : uppercase_error,
'lowercase_error' : lowercase_error,
'symbol_error' : symbol_error,
}
编辑:
在这里提出Lukasz的建议是对特殊符号条件验证的更新
symbol_error = re.search(r"\W", password) is None
本文介绍了如何使用Python通过正则表达式来判断密码的强度。密码被认为是强密码,需要满足以下条件:长度至少8个字符,包含至少1个数字,1个大写字母,1个小写字母以及1个特殊字符。文中提供了一个名为`password_check`的函数,用于检查这些条件并返回详细的验证结果。
1759

被折叠的 条评论
为什么被折叠?



