laravel возвращает использование неопределенной константы PASSWORD_ARGON2ID

#php #laravel

#php #laravel

Вопрос:

Я пытаюсь использовать Argon2id вместо bcrypt для хэширования пароля. Я использую PHP 7.2.33 и Laravel 7.28. Не могли бы вы, пожалуйста, помочь мне включить argon2id. в настоящее время я только что попробовал использовать приведенный ниже код

 return password_hash('password', PASSWORD_ARGON2ID);
 

Не могли бы вы, пожалуйста, помочь мне? Спасибо

Комментарии:

1. Используйте PASSWORD_ARGON2I вместо PASSWORD_ARGON2ID, потому что он доступен в php 7.3

Ответ №1:

https://www.php.net/manual/en/function.password-hash.php

PASSWORD_ARGON2I — используйте алгоритм хэширования Argon2i для создания хэша. Этот алгоритм доступен только в том случае, если PHP был скомпилирован с поддержкой Argon2.

Вы должны скомпилировать php с Argon2, чтобы иметь возможность его использовать.

Вот руководство:

https://framework.zend.com/blog/2017-08-17-php72-argon2-hash-password.html

Ответ №2:

Вы используете

 return password_hash('password', PASSWORD_ARGON2I);
 

вместо

 return password_hash('password', PASSWORD_ARGON2ID);
 

Потому PASSWORD_ARGON2ID что константа поддерживается для версии PHP> = 7.3.

В случае, если вы хотите использовать PASSWORD_ARGON2ID , вам необходимо обновить версию PHP.