hash_init()
(PHP 5 >= 5.1.2, PHP 7, PECL hash >= 1.1)
初始化增量哈希运算上下文
说明
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对象,不再返回资源类型。 |
范例
增量哈希运算例程
<?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 方法和给定文件的内容生成带密钥的哈希值