2015-08-18 3 views
1

PHP> = 5.5 имеет функцию password_hash для упрощения хэширования паролей. Обычно они рекомендуют что-то вроде:Обновление паролей с помощью PHP

pasword_hash($password,PASSWORD_DEFAULT) 

Чтобы воспользоваться преимуществами любого улучшения, это будущие версии. В настоящее время по умолчанию используется алгоритм bcrypt.

Вопросов:

  • будет сохраненные хэш паролей несовместимые с будущей реализацией, которая использует другой алгоритм?
  • если да, есть ли способ обновления данных?

Благодаря

+0

Никто не знает, что принесет будущее, но если что-то изменится с помощью алгоритма, я уверен, что также будет способ преобразования. –

ответ

1

Обзор ручной here

Идентификатор, пример, являющийся $2y$, идентифицирует, который был использован хэш и, следовательно, позволяя совместимость в будущем, когда будут добавлены дополнительные алгоритмы.

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

+0

Да, я прочитал инструкцию. Часть '$ 2 $ y' просто квалифицирует bcrypt с параметром salt и cost. Сам по себе он не упоминает о совместимости с будущими инструментами 'php_hash'. – Manngo

+0

Если вы используете функцию password_verify, он использует этот идентификатор для проверки пароля. '$ 2y $' означает, что это хэширование bcrypt, поэтому password_verify будет использовать bcrypt для проверки данного пароля на хэш. В будущем, если у вас есть другой идентификатор, password_verify будет использовать этот хеш для проверки пароля, обеспечивающего совместимость ... – Devon

+0

Я вижу это сейчас: в нем конкретно говорится: «Используемый алгоритм, стоимость и соль возвращаются как часть хэша ." Благодаря. Это отвечает на вопрос. – Manngo

Смежные вопросы