2013-08-23 3 views
0

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

Заранее спасибо

+3

Ваше имя говорит, что вы хотите создать пароль, но в вопросе говорится, что вы хотите проверить пароль. Который из них? Кроме того, что вы пробовали до сих пор и какая у вас проблема? Хорошим первым шагом может стать создание [сигнатуры функции] (https://en.wikipedia.org/wiki/Signature_%28computer_science%29). –

+3

Вам нужно попробовать что-то сначала, прежде чем публиковать что-то здесь. Найдите http://docs.python.org/2/library/random.html ... – korylprince

ответ

2

Вы можете попробовать использовать regular expressions:

import re 

passw = 'hell1owo2rld' 
if re.match('.*[0-9].*[0-9].*', passw): 
    print 'Password is ok' 
else 
    print 'Please use at least two numbers' 
0

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

if len([x for x in your_password_variable if x.isdigit()]) >= 2: 
    print "OK" 
else: 
    print "You need at least 2 numbers" 
0

Если проблема действительно, чтобы создать новый пароль, я объясню, как это сделать, но нет кода:

Используйте random.SystemRandom(), если вы хотите защитить пароли.

Сначала создайте N символов из набора допустимых символов, где N - длина вашего пароля. Затем проверьте, есть ли как минимум 2 цифры. Если символов меньше двух цифр, то удалите 1 или 2 нецифровых символа и добавьте случайные цифры, чтобы были по крайней мере эти 2 цифры. Наконец, используйте shuffle(), чтобы переставить свой пароль. Таким образом, ваш пароль имеет максимальную энтропию.