Почему ваше имя пользователя и пароль не хешируются и не проверяются?

Почему ваше имя пользователя и пароль не хешируются и не проверяются?

Поскольку обычные ответы на ошибку имени пользователя и/или пароля при входе ВСЕГДА возвращают "Ваше имя пользователя ИЛИ пароль неверны" из-за повышенной безопасности, то почему бы системам не хранить комбинацию имени пользователя И пароля в хэшированном виде? Ничто не раздражает меня больше, чем незнание того, какой адрес электронной почты я использую, и необходимость пробовать другие, особенно когда могут быть МАКСИМАЛЬНЫЕ ограничения на длину пароля и т. д.

решение1

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

Цель состоит в том, чтобы сократить объем информации, которую может иметь потенциальный злоумышленник, не сообщая, работает ли он под существующим именем пользователя. При этом системы, использующие сообщения в стиле «имя пользователя или пароль неверны», как правило, все еще так же уязвимы, как и системы без них. Формы регистрации (а иногда и формы сброса пароля) сообщат вам, существует ли учетная запись, поэтому определить, существует ли имя пользователя, несложно. Таким образом, этот подход может быть скорее разочаровывающим для законных пользователей, чем препятствовать злоумышленникам.

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

Связанный контент