• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • hash_update()

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

    向活跃的哈希运算上下文中填充数据

    说明

    hash_update(HashContext$context,string $data): bool

    参数

    $context

    由hash_init()函数返回的哈希运算上下文。

    $data

    要向哈希摘要中追加的数据。

    返回值

    返回TRUE

    更新日志

    版本说明
    7.2.0接收参数从资源类型修改为HashContext对象类型。

    参见

    A simple example on incremental file hashing:
    $fp = fopen($file, "r");
    $ctx = hash_init('sha256');
    while (!feof($fp)) {
      $buffer = fgets($fp, 65536);
      hash_update($ctx, $buffer);
    }
    $hash = hash_final($ctx, true);
    fclose($fp);
    While incremental hashing is quite slow, it's the easiest way to hash 
    - parts of large files: I.e., a 700MB avi video uses first x bytes to store metadata, so in order to hash the avi's data only, you have to fseek to data start and use incremental hashing
    - streaming data if php just proxies the data
    - whenever it's inadequate or impossible to store the data being hashed into memory (i.e. because of their size) or on disc.

    上篇:hash_update_stream()

    下篇:hash()