Я настраиваю свой сервер и хочу иметь сложные пароли.
Используя регулярное выражение в Python, как я могу проверить, что пароль пользователя:
Не менее 8 символов
Должен быть ограничен, хотя не требует специально:
заглавные буквы: A-Z
строчные буквы: a-z
цифры: 0-9
любой из специальных символов: @ # $% ^ & + =
import re
password = raw_input("Enter string to test: ")
if re.match(r'[A-Za-z0-9@#$%^&+=]{8,}', password):
# match
else:
# no match
from wtforms import StringField, PasswordField, SubmitField, BooleanField
from wtforms.validators import DataRequired, Length, Email, EqualTo, ValidationError
class RegistrationForm(FlaskForm):
username = StringField('Username',
validators=[DataRequired(), Length(min=2, max=20)])
email = StringField('Email',
validators=[DataRequired(), Email()])
#password =
pattern = "^.*(?=.{8,})(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%^&+=]).*$"
password = PasswordField('Password', validators=[DataRequired(), Length(min=2, max=20)])
if re.match(r'[A-Za-z0-9@#$%^&+=]{8,}', password):
print ("Valid password")
else:
print ("Password not valid")
Я ожидаю, что вывод будет действительным или неверным паролем