哈希空间 Ctrl + F 进行搜索
首页 php手册中文版 CSS中文手册 哈希文档 Markdown在线工具

PHP hash 组件

hash_init

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

hash_init初始化增量散列运算上下文

说明

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

参数

algo

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

flags

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

key

flags 参数为 HASH_HMAC 时,使用此参数传入进行 HMAC 散列运算时的共享密钥。

options

各种散列算法的一系列选项数组。目前 MurmurHash 算法仅支持 “seed” 参数。

返回值

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

错误/异常

如果 algo 未知或非加密散列函数,或者 key 为空时,抛出 ValueError 异常。

更新日志

版本 说明
8.1.0 新增 options 参数。
8.0.0 如果 algo 未知或非加密散列函数,或者 key 为空时,现在抛出 ValueError 异常。之前返回 false 并发出 E_WARNING 消息。
7.2.0 当使用 HASH_HMAC 选项的时候,不再支持非加密的散列函数(adler32,crc32,crc32b,fnv132,fnv1a32,fnv164,fnv1a64,joaat)。
7.2.0 返回 HashContext 对象,不再返回资源类型。

范例

示例 #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

参见

打开 哈希空间 微信小程序中查看更佳