(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