Надёжный пароль - это может быть плохо.
Надысь пил пиво, и была мне мысль. Если у нас есть юзвера, и они сами себе придумывают пароли, а мы им устанавливаем ограничения типа "8 знаков и обязательно с цифрами" - то значимая часть этих юзеров будет придумывать пароль, минимально подходящий под эти правила. Таким образом, если мы опасаемся брутфоса (а зачем ещё нужны сложные пароли?) а атакующему нужно сбрутить не конкретного юзверя, а хоть кого-нибудь, то ограничения пойдут атакующему на пользу.
Стоит минимальная длина 6 знаков - перебираем только 6 знаков и переходим к следующему пользователю.
Требуются обязательно буквы и цифры - перебираем варианты с 1-2 цифрами в конце, переходим к следующему.
Требуются буквы, цифры, знаки препинания, не менее 4-х разных видов - это вообще лафа. Ставлю свою недопитую бутылку пива, что хоть у одного юзера будет пароль ABCD1234!@#$. Генерируем список тупых паролей под правила и брутим только по нему.
Всё сказал. Что делать с этой мыслью я не знаю, так что нате вам её.