Обумовлені константи
Наведені нижче константи завжди доступні як частина ядра 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
**. Доступно тільки з 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_DEFAULT
mixed) .
Алгоритм хешування за замовчуванням, якщо не задано примусово. Може бути змінений у нових версіях PHP на більш надійний алгоритм.
Варто зазначити, що згодом ця константа може (і, мабуть, так і буде) змінитись. Тож майте на увазі, що довжина отриманого хеша може змінитися. Пам'ятайте, що якщо ви використовуєте PASSWORD_DEFAULT
, передбачте для зберігання хешей більше 60 символів (рекомендується 255).
Значення цієї константи:
- PHP 5.5.0 -
PASSWORD_BCRYPT
список змін
Версия | Опис |
---|---|
7.4.0 | Значення ідентифікаторів алгоритму пароля (PASSWORD_BCRYPT PASSWORD_ARGON2I PASSWORD_ARGON2ID і PASSWORD_DEFAULT ) Тепер є рядками (string). Раніше вони були номерами (int). |