Я использую членство ASP.NET для сайта, который будет обслуживать прежде всего сложных пользователей. Я понимаю разницу между хешированными и зашифрованными паролями, и я пытаюсь решить между ними.Хеширование против шифрования паролей
После того, как мой последний клиент с горечью жаловался на хешированные пароли, являющиеся полной PITA, я начал пользоваться зашифрованными паролями. Но кто-то предложил это просто недостаточно безопасно.
Так что мой вопрос: что, собственно, риски шифрования паролей? Любой человек, обладающий возможностью кражи паролей, расшифровывая их из базы данных, несомненно, сможет сбросить их, если они были хэшированы, нет? У меня возникли проблемы с тем, что кто-то может вызвать проблемы с зашифрованными паролями, но не мог с хэшированными. Также важно сделать это удобным для пользователей.
Можете ли вы прояснить «способность их сбросить, если они были хэшированы»? –
«Сброс пароля» - это обычная функция веб-сайта. В тех случаях, когда возможность отправлять по электронной почте свой существующий пароль не существует, это предполагает создание нового пароля и перезапуск вашей учетной записи для использования этого пароля. Это обычное требование, когда пароли хэшируются. –
Пароль не должен быть сброшен в базе данных до тех пор, пока пользователь не нажмет на ссылку. Сброс пароля немедленно - это боль для пользователя, если кто-то, кроме них, вызвал эту функцию. –