Как проверить действительность пароля по данным, введенным пользователями - PullRequest
0 голосов
/ 24 августа 2018

Для проверки правильности ввода пароля пользователями.

Ниже приведены критерии для проверки пароля:

  1. Как минимум 1 буква между a-z.
  2. Как минимум 1 число от 0 до 9
  3. Как минимум 2 буквы между A-Z
  4. Как минимум 2 символа из $ # @ ,. ETC
  5. Минимальная длина пароля транзакции: 6
  6. Максимальная длина пароля транзакции: 12

Ответы на этот вопрос не смогли решить проблемы

Я пробовал это, но это не сработало

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')

1 Ответ

0 голосов
/ 24 августа 2018

Лучший способ - использовать регулярное выражение, как это предлагается, но это целый новый мир, если вы не знаете, что это такое. Я предлагаю вам прочитать.

Но используя код, вы понимаете, что это можно сделать:

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')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...