Перечисленные ниже константы всегда доступны как часть ядра PHP.
PASSWORD_BCRYPT
(integer)
PASSWORD_BCRYPT
используется для создания новых
хешей паролей используя алгоритм CRYPT_BLOWFISH
.
Результат всегда представляет из себя хеш формата "$2y$" длиной 60 символов.
Поддерживаемые опции:
salt (string) - соль для использования при создании хеша пароля. Обратите внимание, что задание этой опции предотвращает автоматическую генерацию соли.
Если не задано, то для каждого хешируемого пароля будет создана случайная соль с помощью функции password_hash(). Это является предпочтительным способом, а с PHP 7.0.0 опция salt объявлена устаревшей.
cost (integer) - алгоритмическая стоимость, которую следует использовать. Примеры использования этого значения смотрите на странице описания функции crypt().
Если не задано, то будет использовано значение 10. Это хорошая базовая стоимость, но вы всегда можете ее увеличить в зависимости от имеющихся в вашем распоряжении вычислительных ресурсов.
PASSWORD_ARGON2I
(integer)
PASSWORD_ARGON2I
используется для создания новых хешей
паролей с помощью алгоритма Argon2i.
Поддерживаемые опции:
memory_cost (integer) - Максимальный размер
памяти (в байтах), которую можно использовать для вычисления хеша Argon2.
По умолчанию PASSWORD_ARGON2_DEFAULT_MEMORY_COST
.
time_cost (integer) - Максимально возможное время
которое можно потратить для вычисления хеша Argon2.
По умолчанию PASSWORD_ARGON2_DEFAULT_TIME_COST
.
threads (integer) - Количество потоков, которые
можно использовать для вычисления хеша Argon2.
По умолчанию PASSWORD_ARGON2_DEFAULT_THREADS
.
Доступно с PHP 7.2.0.
PASSWORD_ARGON2ID
(integer)
PASSWORD_ARGON2ID
используется для создания хешей паролей
с помощью алгоритма Argon2id. Поддерживаются те же опции, что и для
PASSWORD_ARGON2I
.
Доступно с PHP 7.3.0.
PASSWORD_ARGON2_DEFAULT_MEMORY_COST
(тип integer)
Количество памяти по умолчанию (в байтах), которую может использовать библиотека Argon2lib для вычисления хеша.
Доступно с PHP 7.2.0.
PASSWORD_ARGON2_DEFAULT_TIME_COST
(integer)
Ограничение времени по умолчанию на генерацию хеша библиотекой Argon2lib.
Доступно с PHP 7.2.0.
PASSWORD_ARGON2_DEFAULT_THREADS
(integer)
Количество потоков по умолчанию для библиотеки Argon2lib.
Доступно с PHP 7.2.0.
PASSWORD_DEFAULT
(integer)
Алгоритм хеширования по умолчанию, если не задан принудительно. Может быть изменен в более новых версиях PHP на более надежный алгоритм.
Стоит отметить, что со временем эта константа может (и, вероятно, так и будет)
измениться. Так что имейте в виду, что длина полученного хеша может измениться.
Помните, что если вы используете PASSWORD_DEFAULT
,
то предусмотрите для хранения хешей больше чем 60 символов (рекомендуется 255).
Значения для этой константы:
PASSWORD_BCRYPT