hash_hmac
(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL hash >= 1.1)
hash_hmac — Генерація хеш-коду на основі ключа, використовуючи метод HMAC
Опис
hash_hmac( string $algo, string $data, string $key, bool $binary = false): string
Список параметрів
algo
Ім'я вибраного алгоритму хешування (наприклад, "md5", "sha256", "haval160,4" тощо) Дивіться hash_hmac_algos() для отримання списку алгоритмів, що підтримуються.
data
Повідомлення для хешування.
key
Загальний секретний ключ, який використовується для генерації HMAC хеш-коду.
binary
Когда установлено в**true
**, виводить необроблені двійкові дані При false
виводить дані у шістнадцятковому кодуванні в нижньому регістрі.
Значення, що повертаються
Повертає рядок, що містить обчислений хеш-код у шістнадцятковому кодуванні в нижньому регістрі. Якщо binary
задан как**true
**, то повертається хеш-код у вигляді бінарних даних.
Помилки
Викидає виняток ValueError, якщо параметр algo
невідомий чи не є криптографічною хеш-функцією.
список змін
Версия | Опис |
---|---|
8.0.0 | Тепер викидає виняток ValueError, якщо алгоритм algo невідомий чи не є криптографічною хеш-функцією; раніше натомість поверталося значення false |
7.2.0 | Заборонено використання некриптографічних хеш-функцій (adler32, crc32, crc32b, fnv132, fnv1a32, fnv164, fnv1a64, joaat). |
Приклади
Приклад #1 Приклад використання hash_hmac()****
Loading...
Результат виконання наведеного прикладу:
bc83c8fabc807cabbbb087bf90c760888349b223b5ba0a35251f7b37b05bf9c9
Дивіться також
- hash() - Генерує хеш-код (підпис повідомлення)
- hash_hmac_algos() - Повертає список зареєстрованих алгоритмів хешування, які застосовуються для hash_hmac
- hash_init() - Ініціалізація інкрементального контексту хешування
- hash_hmac_file() - Генерація хеш-коду на основі ключа, використовуючи метод HMAC та вміст отриманого файлу
- hash_equals() - Порівнює рядки без ризику атаки за часом