Я решил отказаться от md5 () в качестве алгоритма шифрования паролей при хранении пользовательских паролей в БД, в пользу библиотеки phpass .
В системах, использующих md5, это былопроблема в том, чтобы иметь диаду производства / разработки, так как полученный хеш был таким же.Итак, в случае, если я создал тестового пользователя в одном из них, тот же пароль работал в другой среде.
Из того, что я понял, это не то же самое для других типов алгоритмов хеширования, как phpass (или его внутренние функции php) создает хэши, зависящие от платформы (я новичок в области хеширования / шифрования).
Мой вопрос: как следует подходить к этой ситуации?Другая база данных в prod / dev?Но что, если «наверху» решат, что мы должны переместить наше веб-приложение (вместе с его БД) на другой сервер - не будут ли хешированные пароли теперь недействительными - так как phpass создаст разных хешей для одного и того же (старые) пароли?
Позже редактировать:
Ну, я не удосужился проверить хеш разработчика для производственного.Несмотря на то, что они разные, их сравнение приводит к «истинно», как «они эквивалентны».Я думал, что если хеши разные, они не совпадают (например, md5).