Я занимаюсь обновлением нескольких проектов с использованием различных небезопасных/ужасно небезопасных хэшей паролей на основе MD5 -. Теперь я, по крайней мере, немного лучше информирован о лучших практиках, но мне все еще интересно, не делаю ли я что-то не так. Я не видел, чтобы конкретный процесс, который я реализую, использовался где-либо еще, но по крайней мере один пользователь SO, кажется, хочет сделать что-то подобное .В моем случае:
Хэши паролей генерируются с помощью bcrypt. (Поскольку правильными вариантами, похоже, являются bcrypt, scrypt или pbkdf2, а bcrypt был наиболее легко доступен для меня в PHP.)
Для каждого хэша используется разная случайная соль. (Чтобы злоумышленники не создали пользовательскую радужную таблицу, рассчитанную с помощью одной статической соли.)
Хэш, настройки алгоритма и соль хранятся вместе. (Так как это то, что функция шифрования PHP дает мне для хеш-значения.)
После успешного входа в систему хэш повторно -вычисляется с новой случайной солью.
Это последний шаг, который меня интересует. Я намерен разрешить обновления алгоритма хеширования по прошествии времени, чтобы пользователи, которые регулярно входят в систему, сохраняли свои пароли в наиболее безопасном доступном формате.
Мои вопросы:
Это пустая трата времени?
Есть ли какие-либо опасности при этом?