gpt4 book ai didi

Python 密码检查器

转载 作者:行者123 更新时间:2023-11-28 22:43:33 25 4
gpt4 key购买 nike

我需要一些帮助来弄清楚如何制作一个函数来检查字符串的一系列条件。

  • 密码长度必须至少为 5 个字符

  • 密码必须至少包含一个大写字母

  • 密码必须至少包含两个数字

  • 密码不能包含字符“E”或“e”

  • 密码必须包含至少一个特殊符号:!、@、#、$、%、^、&

现在这就是我所有的

def passwordChecker(password):
'''
'''
caps = sum(1 for c in password if c.isupper())
nums = sum(1 for c in password if c.isdigit())
symb = any(c in password for c in '!@#$%^&')
note = any(c in password for c in 'Ee')
if len(password) <5:
return False
elif caps < 1:
return False
elif nums < 1:
return False
elif symb == False:
return False
else:
return True

编辑**

刚刚意识到我还必须检查是否有常用密码,如“密码”或“111111”,我真的不知道我将如何处理这个问题。

最佳答案

只是使用正则表达式的替代方法:

import re
def passwordChecker(password):
return all(re.search(pattern, password) for pattern in
('.{5}', '[A-Z]', '\d.*\d', '^[^Ee]*$', '[!@#$%^&]'))

使用五个勉强无效和五个勉强有效测试的演示(一个无效和一个有效用于五个规则中的每一个):

for password in ('1A!',   '12!34', 'A1bc!', 'A12E!', 'A12bc',
'1A!2.', 'A2!34', 'A12c!', 'A12b!', 'A12b@'):
print(passwordChecker(password))

前五个打印False,后五个打印True

关于Python 密码检查器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30631153/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com