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