polyanin
@polyanin
Golang, PHP & Symfony developer

Как перевести базу паролей сайта в md5 на новый алгоритм password_hash?

Переделываю сайт, там много пользователей в базе, пароли в md5.
Надо переделать на password_hash.
Как это сделать попроще
  • Вопрос задан
  • 243 просмотра
Решения вопроса 3
27cm
@27cm
TODO: Написать статус
В течении месяца при успешной авторизации сохранять введенный пароль в password_hash, заменяя md5. То есть для всех активных пользователей смена алгоритма хранения пароля пройдёт незаметно. Остальным - через месяц сбросить принудительно.
Ответ написан
Комментировать
@kstyle
заставить пользователей сбросить пароли. перед этим сгенерировать им новый и сообщить на email
Ответ написан
Akdmeh
@Akdmeh
PHP, Yii2, Music
Добавить новую колонку для пароля, например, password_new.
Для пользователей, у которых password_new пустой, но есть старый пароль - при первой успешной авторизации переводить пароль (который нам прислали в POST-форме) в password_hash и очищать поле md5.
Постепенно все активные пользователи начнут использовать новый алгоритм.
Также есть метод с костылями - все существующие md5-хеши перевести в password_hash, а уже при авторизации делать md5 пароля и затем уже проверять с помощью password_verify.
Да, это немного костыли, но решение более простое.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы