(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL hash >= 1.1)
hash_hmac_file — Генерирует хеш-значение на основе ключа через метод HMAC и содержимое файла
algo
Название выбранного алгоритма хеширования (то есть md5, sha256, haval160,4 и т. д.). Список поддерживаемых алгоритмов даёт описание функции hash_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