PHP Conference Nagoya 2025

hash_update_stream

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

hash_update_streamPump data into an active hashing context from an open stream

Description

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

Parameters

context

Hashing context returned by hash_init().

stream

Open file handle as returned by any stream creation function.

length

Maximum number of characters to copy from stream into the hashing context.

Return Values

Actual number of bytes added to the hashing context from stream.

Changelog

Version Description
7.2.0 Accept HashContext instead of resource.

Examples

Example #1 hash_update_stream() example

<?php
$fp
= tmpfile();
fwrite($fp, 'jumped over the lazy dog.');
rewind($fp);

$ctx = hash_init('sha256');
hash_update($ctx, 'The quick brown fox ');
hash_update_stream($ctx, $fp);
echo
hash_final($ctx);
?>

The above example will output:

68b1282b91de2c054c36629cb8dd447f12f096d3e3c587978dc2248444633483

See Also

  • hash_init() - Initialize an incremental hashing context
  • hash_update() - Pump data into an active hashing context
  • hash_update_stream()
  • hash_final() - Finalize an incremental hash and return resulting digest

add a note

User Contributed Notes 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