Обумовлені константи

Наведені нижче константи завжди доступні як частина ядра 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_BCRYPTPASSWORD_ARGON2IPASSWORD_ARGON2ID і PASSWORD_DEFAULT) Тепер є рядками (string). Раніше вони були номерами (int).