ASP.NET членство passwordStrengthRegularExpression и GeneratePassword

Метод generatePassword в провайдере членства asp.net позволяет устанавливать только длину и буквенно-цифровые символы.

Однако есть также свойство passwordStrengthRegularExpression

Использует ли GeneratePassword указанное выше свойство. Было бы здорово, если бы это было так, но я полагаю, что это не так?


person AJM    schedule 01.06.2009    source источник


Ответы (2)


Нет, к сожалению, нет. См. GeneratePassword:

Случайный пароль, созданный методом GeneratePassword, не гарантирует передачу регулярного выражения в свойстве PasswordStrengthRegularExpression. Однако случайный пароль будет соответствовать критериям, установленным свойством MinRequiredPasswordLength и параметром numberOfNonAlphanumericCharacters.

person Andrew Hare    schedule 01.06.2009
comment
@Andrew Hare - Знаете ли вы, есть ли способ сгенерировать новый пароль, который будет соответствовать критериям Regex? Думаю, я мог бы использовать GeneratePassword и протестировать вывод с моим регулярным выражением и продолжать цикл, пока не получу совпадение. Хотя это кажется неуклюжим ... - person Alex P; 07.08.2012
comment
@AlexP Вы нашли альтернативное решение? - person Vin Shahrdar; 19.12.2018

У меня была аналогичная проблема, и я применил следующий подход;

newRndPwd = String.Empty;

do 
{
    newRndPwd = Membership.GeneratePassword(MinRequiredPasswordLength, MinRequiredNonAlphanumericCharacters)
}
while(!Regex.IsMatch(newRndPwd, PasswordStrengthRegularExpression)
person Alex P    schedule 08.08.2012
comment
тебе не кажется, что это слишком рискованно? - person akd; 14.10.2016
comment
@akd вы случайно не нашли лучшее решение для этого? - person Vin Shahrdar; 19.12.2018