hash_init

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

hash_initИнициализация инкрементального контекста хеширования

Описание

hash_init ( string $algo , int $flags = 0 , string $key = "" ) : HashContext

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

algo

Имя выбранного алгоритма хеширования (например, "md5", "sha256", "haval160,4" и т.д.). Весь список поддерживаемых алгоритмов можно посмотреть в описании функции hash_algos().

flags

Необязательные настройки для генерации хеша, в настоящее время поддерживается только один вариант: HASH_HMAC. При этом параметр key должен быть указан.

key

Если HASH_HMAC указан в параметре flags, то в этом параметре нужно предоставить общий секретный ключ, который будет использоваться с методом хеширования HMAC.

Возвращаемые значения

Возвращает контекст хеширования для использования в функциях hash_update(), hash_update_stream(), hash_update_file() и hash_final().

Список изменений

Версия Описание
7.2.0 Запрещено использование некриптографических хеш-функций (adler32, crc32, crc32b, fnv132, fnv1a32, fnv164, fnv1a64, joaat) с константой HASH_HMAC.
7.2.0 Возвращает HashContext, а не ресурс.

Примеры

Пример #1 Пример инкриментального хеширования

<?php
$ctx 
hash_init('md5');
hash_update($ctx'Наглый коричневый лисёнок ');
hash_update($ctx'прыгает вокруг ленивой собаки.');
echo 
hash_final($ctx);
?>

Результат выполнения данного примера:

bff8b4bc8b5c1c1d5b3211dfb21d1e76

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

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