PHP - hash_update_stream() 函数



定义和用法

hash_update_stream() 函数将从打开的流更新哈希上下文。

语法

hash_update_stream ( HashContext $context , resource $handle [, int $length = -1 ] ) : int

参数

序号 参数及描述
1

HashContext context

使用 hash_init() 获取的哈希上下文。

2

handle

流创建函数返回的文件句柄。

3

length

从句柄中获取到哈希上下文中的最大字符数。

返回值

PHP hash_update_stream() 函数返回哈希上下文从句柄中使用的字节数。

PHP 版本

此函数在 PHP 5.1.2 以上版本中可用。

示例 1

使用 hash_update_stream() -

<?php
   $file = tmpfile();
   fwrite($file , 'Welcome To Tutorialspoint');
   rewind($file);
   $hash_context = hash_init('md5');
   hash_update_stream($hash_context, $file);
   echo hash_final($hash_context);
?>

输出

这将产生以下结果 -

6211420491a571f89f970683221d4480

示例 2

使用 gost-crypto 算法的 hash_update_stream() -

<?php
   $file = tmpfile();
   fwrite($file , 'Welcome To Tutorialspoint');
   rewind($file);
   $hash_context = hash_init('gost-crypto');
   hash_update_stream($hash_context, $file);
   echo hash_final($hash_context);
?>

输出

这将产生以下结果 -

9d9c7fb112d23e3d3c68ec1cb1f8c292d1b14d01cc26c302907c07bd487cddb2

示例 3

使用 fopen() 的 hash_update_stream() -

<?php
   $stream = fopen('a.txt', 'r');
   rewind($stream);
   $hash_context = hash_init('gost-crypto');
   hash_update_stream($hash_context, $stream);
   echo hash_final($hash_context);
?>

输出

这将产生以下结果 -

61dbcac417fbb43e97c33b0f3eb86d6733712beaa1ec9c8084aa6063667c7602
php_function_reference.htm
广告