hash_init

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

hash_init初始化增量哈希运算上下文

说明

hash_init ( string $algo [, int $options = 0 [, string $key = NULL ]] ) : HashContext

参数

algo

要使用的哈希算法名称,例如:"md5","sha256","haval160,4" 等。 如何获取受支持的算法清单,请参见 hash_algos()

options

进行哈希运算的可选设置,目前仅支持一个选项:HASH_HMAC。 当指定此选项的时候,必须 指定 key 参数。

key

options 参数为 HASH_HMAC 时, 使用此参数传入进行 HMAC 哈希运算时的共享密钥。

返回值

返回哈希运算上下文对象,以供 hash_update()hash_update_stream()hash_update_file(), 和 hash_final() 函数使用。

更新日志

版本 说明
7.2.0 当使用 HASH_HMAC 选项的时候,不再支持非加密的哈希函数(adler32,crc32,crc32b,fnv132,fnv1a32,fnv164,fnv1a64,joaat)。
7.2.0 返回 HashContext 对象,不再返回资源类型。

范例

Example #1 增量哈希运算例程

<?php
$ctx 
hash_init('md5');
hash_update($ctx'The quick brown fox ');
hash_update($ctx'jumped over the lazy dog.');
echo 
hash_final($ctx);
?>

以上例程会输出:

5c6ffbdd40d9556b73a21e63c3e0e904

参见

  • hash() - 生成哈希值 (消息摘要)
  • hash_algos() - 返回已注册的哈希算法列表
  • hash_file() - 使用给定文件的内容生成哈希值
  • hash_hmac() - 使用 HMAC 方法生成带有密钥的哈希值
  • hash_hmac_file() - 使用 HMAC 方法和给定文件的内容生成带密钥的哈希值