PHP - hash_init() 函数



定义和用法

hash_init() 函数初始化一个可用于其他哈希函数(如 hash_update()、hash_final() 等)的增量哈希上下文。它以哈希算法作为输入,以哈希上下文作为输出。

哈希上下文是根据 hash_init() 内部使用的 hash_algo 生成的。您可以使用 hash_update() 函数使用哈希上下文更新您的数据或消息,并使用 hash_final() 获取最终的哈希值。

语法

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

参数

序号 参数和说明
1

algo

哈希算法的名称。哈希提供了大量的算法列表,其中一些重要的算法是 md5、sha256 等。

要获取支持的完整算法列表,请使用哈希函数 hash_algos()

2

options

仅支持一个选项,即 HASH_HMAC。如果您使用选项,则密钥也必须是强制性的。

3

key

如果将 HASH_HMAC 用作选项,则还必须提供密钥,它将是与 HMAC 哈希方法一起使用的共享密钥。

返回值

PHP hash_init() 函数返回一个哈希上下文。哈希上下文可用于其他哈希函数,如 hash_update()、hash_update_stream()、hash_update_file() 和 hash_final()。

PHP 版本

此函数将在 PHP 版本大于 5.1.2 的版本中运行。

示例 1

生成哈希上下文 -

<?php
   $hash_context = hash_init('md5');
   hash_update($hash_context, 'Testing php');
   hash_update($hash_context, ' hash functions.');
   echo hash_final($hash_context);
?>

输出

这将产生以下结果 -

e4310012c89a4b8479fd83694a2a3a31

示例 2

将 hash_init() 与 hash_copy() 一起使用 -

<?php
   $hash_context = hash_init("md5");
   hash_update($hash_context, "Welcome To Tutorialspoint");
   $hash_copy= hash_copy($hash_context);
   echo hash_final($hash_context);
   echo "<br/>";
   hash_update($hash_copy,  "Welcome To Tutorialspoint");
   echo hash_final($hash_copy);
?>

这将产生以下结果 -

6211420491a571f89f970683221d4480<br/>d0b25da996bf035057aba79082c53b30
php_function_reference.htm
广告