Большинство сервисов, программ и т.д. имеют различные проверки сложности паролей. Не углубляясь в эффективность таких проверок , я придумал одну, которая может быть интересной, но и потенциально проблемной:
"Новый пароль должен быть Y
символами, отличными от последних X
паролей"
Это помешало бы людям использовать такие пароли, как Пароль1!
, Пароль2!
и так далее. Но если это сделано, то нельзя хэшировать ранее использованный пароль - они в лучшем случае будут зашифрованы... Верно?
Для маленького Y
и довольно короткого пароля, вы, вероятно, все еще могли бы хранить хэш и брутфорс всех Y
буквенных вариантов нового пароля, но это становится невозможным, так как Y
и длина пароля увеличивается.
Моя оригинальная идея такова: поскольку при смене пароля необходимо указать свой оригинальный пароль, хэш нового пароля и хранить его, а старый пароль - в зашифрованном виде. Теперь он обратимый.
Итак, предполагая, что активный пароль всегда хэшируется, есть ли лучший способ сделать это? А также увеличивает или уменьшает безопасность приложения?