(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL hash >= 1.1)
hash_hmac_file — Генерирует хеш-значение на основе ключа через метод HMAC и содержимое файла
algo
Название алгоритма хеширования (например, "sha256"
).
Список алгоритмов, которые поддерживает функция, приводит описание функции 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', 'The quick brown fox jumped over the lazy dog.');
echo hash_hmac_file('sha256', 'example.txt', 'secret');
?>
Результат выполнения приведённого примера:
9c5c42422b03f0ee32949920649445e417b2c634050833c5165704b825c2a53b