【问题标题】:How To check the validity of password according to input by users如何根据用户输入的密码来检查密码的有效性
【发布时间】:2018-08-24 12:39:21
【问题描述】:

检查用户输入密码的有效性。

以下是检查密码的标准:

  1. a-z 之间至少有 1 个字母。
  2. 0-9 之间至少有 1 个数字
  3. A-Z 之间至少有 2 个字母
  4. $#@ 中至少有 2 个字符。等
  5. 交易密码最小长度:6
  6. 交易密码最大长度:12

Answers to this question couldn't clear the problems

我试过了,但是没用

N = [1,2,3,4,5,6,7,8,9,0]
A = ['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']
S = ['!','@','#','$','%','~','`','^','&','*','(',')','_','+','=','-']

pasw = input('Password: ')
if any((word in pasw for word in N,A,S)):
  print ('OK')
else:
   print ('TRY LATER')

【问题讨论】:

标签: python regex python-3.x passwords


【解决方案1】:

最好的方法是使用建议的正则表达式,但如果您不知道它是什么,那将是一个全新的世界。我建议你阅读。

但是使用你理解的代码是可以做到的:

pasw='PAssword1!!'

S = ['!','@','#','$','%','~','`','^','&','*','(',')','_','+','=','-']
upper,lower,number,special = 0,0,0,0

for n in pasw:
    if n.islower():
        lower=1
    if n.isnumeric():
        number=1
    if n.isupper():
        upper+=1
    if n in S:
        special+=1

if len(pasw) >= 6 and len(pasw) <= 12 and lower > 0 and number > 0 and special > 1 and upper > 1:
    print('OK')
else:
    print('TRY LATER')

【讨论】:

    猜你喜欢
    • 2021-08-10
    • 2013-04-24
    • 1970-01-01
    • 2020-12-11
    • 1970-01-01
    • 1970-01-01
    • 2021-01-30
    • 1970-01-01
    • 2017-11-16
    相关资源
    最近更新 更多