регулярное выражение для слабого пароля - PullRequest
0 голосов
/ 20 января 2011

Мне нужно регулярное выражение, которое проверяет, что пароль не равен определенным словам (например, пароль и 12345).Я пробовал несколько комбинаций, но у меня возникли проблемы с отрицанием.

Это атрибут валидации DataAnnotations, если это уместно.

Ответы [ 2 ]

2 голосов
/ 20 января 2011

Отрицание в Regex лучше всего работает с негативными взглядами, такими как

"^(?!password)(?!12345)"

Тем не менее, я думаю, что пользователи могут быть достаточно умными при создании неверных паролей, и создать выражение, которое их всех перехватит, будет довольно сложно.

1 голос
/ 20 января 2011

Вы действительно хотите сделать это с помощью регулярного выражения? Чем больше «слабых» слов вы придумаете, тем дольше и запутаннее будет регулярное выражение. Почему бы просто не создать список неприемлемых слов и использовать цикл / LINQ, чтобы проверить, содержит ли пароль какое-либо из них? Это все еще будет достаточно быстро и легко читаться.

Единственное, о чем не заботится ни регулярное выражение, ни мое решение, описанное выше, - это обнаружение n чисел подряд / цифр. Вы просто ищете 12345? Или вы ищете что-то, что также обнаружит такие строки, как 1234567, 1234 или 56789? Это потребует дополнительной работы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...