(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL hash >= 1.1)
hash_hmac_file — Генерация хеш-кода на основе ключа, используя метод HMAC и содержимое полученного файла
algo
Имя выбранного алгоритма хеширования (например, "md5", "sha256", "haval160,4" и т.д.) Смотрите hash_hmac_algos() для получения списка поддерживаемых алгоритмов.
filename
URL расположения файла для хеширования; Поддерживаются обработчики fopen.
key
Общий секретный ключ, используемый для генерации HMAC хеш-кода.
binary
Когда установлено в true
, выводит необработанные двоичные данные. При false
выводит данные в шестнадцатеричной кодировке в нижнем регистре.
Возвращает строку, содержащую вычисленный хеш-код в шестнадцатеричной кодировке
в нижнем регистре. Если binary
задан как true
,
то возвращается хеш-код в виде бинарных данных.
Возвращает false
, если файл filename
недоступен для чтения.
Выбрасывает исключение ValueError, если параметр algo
неизвестен или не является криптографической хеш-функцией.
Версия | Описание |
---|---|
8.0.0 |
Теперь выбрасывает исключение ValueError,
если алгоритм algo неизвестен или не является криптографической хеш-функцией;
ранее вместо этого возвращалось значение false .
|
7.2.0 | Запрещено использование некриптографических хеш-функций (adler32, crc32, crc32b, fnv132, fnv1a32, fnv164, fnv1a64, joaat). |
Пример #1 Пример использования hash_hmac_file()
<?php
/* Создаём файл, чтобы вычислить его хеш */
file_put_contents('example.txt', 'Наглый коричневый лисёнок прыгает вокруг ленивой собаки.');
echo hash_hmac_file('sha256', 'example.txt', 'secret');
?>
Результат выполнения приведённого примера:
bc83c8fabc807cabbbb087bf90c760888349b223b5ba0a35251f7b37b05bf9c9