PHPCon Poland 2024

hash_update_stream

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

hash_update_streamДобавляет данные из открытого потока в активный контекст хеширования

Описание

hash_update_stream(HashContext $context, resource $stream, int $length = -1): int

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

context

Контекст хеширования, возвращаемый hash_init().

stream

Дескриптор открытого файла, возвращаемый любой функцией создания потока.

length

Максимальное число символов для копирования из stream в контекст хеширования.

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

Фактическое количество байт, добавленное в контекст хеширования из stream.

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

Версия Описание
7.2.0 Принимает HashContext, а не ресурс.

Примеры

Пример #1 Пример использования hash_update_stream()

<?php
$fp
= tmpfile();
fwrite($fp, 'прыгает вокруг ленивой собаки.');

rewind($fp);

$ctx = hash_init('sha256');
hash_update($ctx, 'Наглый коричневый лисёнок ');

hash_update_stream($ctx, $fp);
echo
hash_final($ctx);
?>

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

199f52fc9f2492c64449ed96003f135f8ea428e353e50c40b0c1a16b9c16f571

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

  • hash_init() - Инициализирует контекст инкрементного хеширования
  • hash_update() - Добавляет данные в активный контекст хеширования
  • hash_final() - Завершает инкрементальное хеширование и возвращает результат в виде хеш-кода
  • hash() - Генерирует хеш-значение (подпись сообщения)
  • hash_file() - Генерирует хеш-значение на основе содержимого файла

add a note

User Contributed Notes 1 note

up
2
qiuty at mail dot ru
3 years ago
This can be obvious, but hash_update_stream() move file pointer. So, use rewind(), if you plan to read the file after hashing.
To Top