Intereting Posts
Swiftmailer: отправка электронной почты нескольким получателям Автоматизировать мини-Javascript / CSS файлы после обновления? Могу ли я установить порядок по умолчанию в классе Table на cakephp3 Как добавить разбивку на страницы в массиве Потерянное соединение с сервером MySQL, системная ошибка: 111 PHP – разбиение массива на запрос Стол для чтения и записи Какова таблица лидеров лучшей практики с php, mysql, memcached? Содержимое ответа должно быть строкой или объектом, реализующим __toString (), «boolean», заданный после перехода на psql Экранирование / кодирование одинарных кавычек в атрибутах данных HTML5, закодированных JSON Поиск по заказу SKU или ID в Woocommerce Orders Кодировать верхнюю кодовую точку (> U + FFFF) к объектам HTML Можно ли проводить сеанс даже после закрытия браузера? Правильный способ использования функции «Запомнить меня» в PHP Продолжить php-скрипт после закрытия соединения

PHP дешифрование пароля

ОК. ясно, что нужно хранить хешированный пароль в базе данных, но если пользователь не помнит пароль и хочет вернуть его обратно, то, очевидно, пользователь не хочет иметь хешированный пароль. Если пароль хэшируется с помощью md5 или дополнительного типа salt и sha1, то как восстановить пароль.

Существует только один простой ответ: вы не можете.

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

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

Это должно быть трудноразрешимым. Таким образом, вы обычно должны предоставить какой-то способ его сброса. Отправка специальной ссылки на электронную почту пользователя является обычной, хотя она снижает вашу безопасность до учетной записи электронной почты.

См. « Забыл пароль»: что является лучшим методом реализации функции забытого пароля? ,

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

Сам хеширование означает, что «невозможно вернуть назад».

Если пользователь не может запомнить свой пароль, ему это не нужно точно.
Просто создайте еще одну случайную и отправьте их.
Не ахти какое дело.

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

Всегда будьте осторожны с сайтами, которые могут отправлять вам по электронной почте пароль, который вы используете. Это означает, что ваш пароль легко увидеть любой, кто имеет доступ к базе паролей, что особенно опасно при повторном использовании паролей.

Для сброса пароля я рекомендую использовать «безопасные вопросы» с ответами, которые также зашифрованы.

Это касается всех тех, кто управляет веб-сайтами, чтобы защитить своих клиентов от хакеров.