列表中的密码检查器
Password checker from list
我正在尝试构建一个函数来检查密码是否有效。它具有通常的约束,其中包括 - 必须包含大写字母、小写字母、数字和标点符号,我有代码。但是标点符号只能来自给定的列表。标点是!@#$%&()-_[]{};':",./<>?
def password_check(string):
punct = ['!', '@', '#', '$', '.', '%', '&', '(', ')', '-', '_', '[', ']', '{', '}', ';', "'", ':', '"', ',', '.', '/', '<', '>', '?']
val = True
if len(string) < 8:
val = False
if not any(char.isdigit() for char in string):
val = False
if not any(char.islower() for char in string ):
val = False
if not any(char.isupper() for char in string):
val = False
if not any(char in whitelist for char in string):
val = False
if any(char == " " for char in string):
val = False
return val
你好世界1!应该 return True 而 HelloWorld1!* 应该 return False。如何确保非字母数字字符来自列表?
这应该有效
def password_check(string):
whitelist = set("!@#$.%&()-_[]{};':\",./<>?aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ0123456789")
if set(string) <= whitelist:
#Password is valid
val = True
else:
#Password isnt Valid
val = False
return val
我正在尝试构建一个函数来检查密码是否有效。它具有通常的约束,其中包括 - 必须包含大写字母、小写字母、数字和标点符号,我有代码。但是标点符号只能来自给定的列表。标点是!@#$%&()-_[]{};':",./<>?
def password_check(string):
punct = ['!', '@', '#', '$', '.', '%', '&', '(', ')', '-', '_', '[', ']', '{', '}', ';', "'", ':', '"', ',', '.', '/', '<', '>', '?']
val = True
if len(string) < 8:
val = False
if not any(char.isdigit() for char in string):
val = False
if not any(char.islower() for char in string ):
val = False
if not any(char.isupper() for char in string):
val = False
if not any(char in whitelist for char in string):
val = False
if any(char == " " for char in string):
val = False
return val
你好世界1!应该 return True 而 HelloWorld1!* 应该 return False。如何确保非字母数字字符来自列表?
这应该有效
def password_check(string):
whitelist = set("!@#$.%&()-_[]{};':\",./<>?aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ0123456789")
if set(string) <= whitelist:
#Password is valid
val = True
else:
#Password isnt Valid
val = False
return val