PHP Conference Japan 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, 资源 $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, '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);
?>

以上示例将输出

68b1282b91de2c054c36629cb8dd447f12f096d3e3c587978dc2248444633483

参见

  • hash_init() - 初始化增量哈希上下文
  • hash_update() - 将数据泵入活动的哈希上下文
  • hash_update_stream()
  • hash_final() - 完成增量哈希并返回生成的摘要

添加注释

用户贡献的注释 1 条注释

2
qiuty at mail dot ru
3 年前
这可能很明显,但 hash_update_stream() 会移动文件指针。因此,如果您计划在哈希后读取文件,请使用 rewind()。
To Top