(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL hash >= 1.1)
hash_hmac — Генерирует хеш-код на основе ключа через метод HMAC
algo
Название алгоритма хеширования (например, "sha256"
).
Список поддерживаемых алгоритмов возвращает функция 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()
<?php
echo hash_hmac('sha256', 'Съешь ещё этих мягких французских булок, да выпей чаю.', 'secret');
?>
Результат выполнения приведённого примера:
7909df92910e8b1c5348d8b21f6e27578fdcab03eeaa60c0f109b49a71128fc7