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