"Мне интересно, есть ли способ хэширования паролей в PHP 7+ еще лучше, чем password_hash. Достаточно ли хорош password_hash?"
Да, это достаточно безопасно, и да, есть лучший/безопасный способ. Начиная с PHP 7.2, Argon2 является частью недавно реализованного метода (хеширования), победившего в соревновании по хэшированию паролей, которое предлагает более надежный метод, если вы хотите обновить версию PHP до 7.2.
В вики говорится:
Argon2, алгоритм хэширования паролей, рекомендованный Конкурсом хеширования паролей, представляет собой современный алгоритм безопасного хеширования паролей. Argon2 устраняет несколько ключевых недостатков существующих алгоритмов, поскольку он разработан для максимальной скорости заполнения памяти и эффективного использования нескольких вычислительных блоков, при этом обеспечивая защиту от атак компромисса. В отличие от Bcrypt, который принимает только один фактор стоимости, Argon2 параметризуется тремя различными факторами:
- Стоимость памяти, определяющая использование памяти алгоритмом.
- Стоимость времени, определяющая время выполнения алгоритма и количество итераций.
- И коэффициент параллелизма, определяющий количество параллельных потоков.
Вы также можете просмотреть следующую ссылку, которая содержит дополнительную информацию о Libsodium https://paragonie.com/blog/2016/02/how-safely-store-password-in-2016
Руководство по http://php.net/manual/en/function.password-hash.php также содержит информацию о PASSWORD_ARGON2I
.
В журнале изменений указано:
7.2.0 Добавлена поддержка паролей Argon2 с использованием PASSWORD_ARGON2I.
Если обновление до PHP 7.2 невозможно, вы можете увеличить «стоимость».
Взято из этого ответа и из связанного сообщения Генерация хэша пароля в PHP 5.5 и настройка стоимости, и я цитирую:
Увеличение параметра стоимости на 1 удваивает время, необходимое для вычисления хеш-значения. Параметр стоимости представляет собой логарифм (по основанию 2) количества итераций, что означает:
$ итераций = 2 ^ $ стоимость;
Вы также можете ознакомиться с другими вопросами и ответами здесь, в Stack Overflow:
person
Funk Forty Niner
schedule
30.11.2017