Php/docs/function.hash-init

来自菜鸟教程
跳转至:导航、​搜索

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