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 方法和给定文件的内容生成带密钥的哈希值