CakeFest 2024: The Official CakePHP Conference

hash_hmac_file

(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL hash >= 1.1)

hash_hmac_fileГенерация хеш-кода на основе ключа, используя метод HMAC и содержимое полученного файла

Описание

hash_hmac_file(
    string $algo,
    string $filename,
    string $key,
    bool $binary = false
): string|false

Список параметров

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

Смотрите также

  • hash_hmac_algos() - Возвращает список зарегистрированных алгоритмов хеширования, применимых для hash_hmac
  • hash_hmac() - Генерация хеш-кода на основе ключа, используя метод HMAC
  • hash_file() - Генерация хеш-значения, используя содержимое заданного файла

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top