(PHP 5 >= 5.1.2, PHP 7, PHP 8, PECL hash >= 1.1)
hash_hmac_file — 使用 HMAC 方法和给定文件的内容生成带密钥的散列值
$algo,$filename,$key,$binary = false
algo
要使用的散列算法名称,例如:"md5","sha256","haval160,4" 等。 如何获取受支持的算法清单,请参见 hash_hmac_algos() 函数。
filename
要进行散列运算的文件路径,支持 fopen 封装器。
key
使用 HMAC 生成信息摘要时所使用的密钥。
binary
设置为 true 输出原始二进制数据,
设置为 false 输出小写 16 进制字符串。
如果 binary 设置为 true, 则返回原始二进制数据表示的信息摘要,否则返回
16 进制小写字符串格式表示的信息摘要。如果无法读取文件
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('md5', 'example.txt', 'secret');
?>
以上例程会输出:
7eb2b5c37443418fc77c136dd20e859c