(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL hash >= 1.1)
hash_hmac_file — 使用 HMAC 方法和给定文件的内容生成带密钥的哈希值
algo
所选哈希算法的名称(例如 "sha256"
)。有关支持的算法列表,请参见 hash_hmac_algos()。
注意:
不允许使用非加密哈希函数。
filename
描述要哈希的文件位置的 URL;支持 fopen 包装器。
key
用于生成消息摘要的 HMAC 变体的共享密钥。
binary
返回一个字符串,其中包含计算出的消息摘要,以小写十六进制数表示,除非 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