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