hash_hkdf

(PHP 7 >= 7.1.2, PHP 8)

hash_hkdf — Формування ключа HKDF для заданих вхідних даних

Опис

hash_hkdf(    string $algo,    string $key,    int $length = 0,    string $info = "",    string $salt = ""): string

Список параметрів

algo

Ім'я вибраного хешируючого алгоритму (наприклад, "sha256", "sha512", "haval160,4" і т.д.) Список підтримуваних алгоритмів можна переглянути в описі функції hash_algos()

Зауваження :

Не криптографічні функції, що хешують, не допускаються.

key

Вхідні дані (необроблені бінарні дані). Не може бути порожнім.

length

Вибрана довжина виведення у байтах. Не може бути більш ніж у 255 разів більше розміру обраної функції, що хешує.

Якщо lengthустановлено как , то висновок по довжині дорівнюватиме розміру обраної функції, що хешує.

info

Інформаційний рядок, специфічний для застосування/контексту.

salt

Сіль, що використовується для формування ключа.

Хоча необов'язково, але додавання випадкової солі значно покращує силу HKDF.

Значення, що повертаються

Повертає рядок, що містить необроблені бінарні дані, що становлять сформований ключ.

Помилки

Викидається ValueError, якщо параметр keyпуст, в параметреalgo вказано невідомий або криптографічний алгоритм, параметр lengthменьше або дуже великий (більш ніж у 255 разів більше за розмір хеш-функції).

список змін

ВерсияОпис
8.0.0Тепер викидається винятокValueError у разі виникнення помилки; раніше видавалася помилка рівня E_WARNING і поверталося значення false

Приклади

Приклад #1 Приклад використання hash_hkdf()****

Loading...

У прикладі вище створена пара різних ключів, придатних для створення конструкції encrypt-then-HMAC, використовуючи AES-256 та SHA-256 для кодування та аутентифікації відповідно.

Дивіться також