• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • 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 方法和给定文件的内容生成带密钥的哈希值

    上篇:hash_hmac()

    下篇:hash_pbkdf2()