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, '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