Проверка сложности пароля: отличается от последних X паролей

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

"Новый пароль должен быть Y символами, отличными от последних X паролей"

Это помешало бы людям использовать такие пароли, как Пароль1! , Пароль2! и так далее. Но если это сделано, то нельзя хэшировать ранее использованный пароль - они в лучшем случае будут зашифрованы... Верно?

Для маленького Y и довольно короткого пароля, вы, вероятно, все еще могли бы хранить хэш и брутфорс всех Y буквенных вариантов нового пароля, но это становится невозможным, так как Y и длина пароля увеличивается.

Моя оригинальная идея такова: поскольку при смене пароля необходимо указать свой оригинальный пароль, хэш нового пароля и хранить его, а старый пароль - в зашифрованном виде. Теперь он обратимый.

Итак, предполагая, что активный пароль всегда хэшируется, есть ли лучший способ сделать это? А также увеличивает или уменьшает безопасность приложения?

6
задан NullUserException 1 September 2011 в 18:56
поделиться