PHP 8.4.2 Released!

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_update_stream()
  • hash_final() - Завершает инкрементальное хеширование и возвращает результат в виде хеш-кода

Добавить

Примечания пользователей 1 note

up
1
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