hash_hmac_file

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

hash_hmac_file使用 HMAC 方法和给定文件的内容生成带密钥的哈希值

描述

hash_hmac_file(
    字符串 $algo,
    字符串 $filename,
    #[\SensitiveParameter] 字符串 $key,
    布尔值 $binary = false
): 字符串|false

参数

algo

所选哈希算法的名称(例如 "sha256")。有关支持的算法列表,请参见 hash_hmac_algos()

注意:

不允许使用非加密哈希函数。

filename

描述要哈希的文件位置的 URL;支持 fopen 包装器。

key

用于生成消息摘要的 HMAC 变体的共享密钥。

binary

设置为 true 时,输出原始二进制数据。false 输出小写十六进制数。

返回值

返回一个字符串,其中包含计算出的消息摘要,以小写十六进制数表示,除非 binary 设置为 true,在这种情况下,将返回消息摘要的原始二进制表示。如果无法读取文件 filename,则返回 false

错误/异常

如果 algo 未知或是非加密哈希函数,则抛出 ValueError 异常。

变更日志

版本 描述
8.0.0 现在如果 algo 未知或是非加密哈希函数,则抛出 ValueError 异常;以前,会返回 false
7.2.0 禁用非加密哈希函数(adler32、crc32、crc32b、fnv132、fnv1a32、fnv164、fnv1a64、joaat)的使用。

示例

示例 #1 hash_hmac_file() 示例

<?php
/* 创建要计算哈希的文件 */
file_put_contents('example.txt', 'The quick brown fox jumped over the lazy dog.');

echo
hash_hmac_file('sha256', 'example.txt', 'secret');
?>

上面的示例将输出

9c5c42422b03f0ee32949920649445e417b2c634050833c5165704b825c2a53b

参见

添加注释

用户贡献注释

此页面没有用户贡献的注释。
To Top