PHP hash_hmac_file() 函数用于使用 HMAC 方法和给定文件的内容生成带密钥的哈希值.
HMAC 代表基于哈希的消息验证代码。它利用"md5"、"sha256"等加密哈希函数和密钥来返回给定数据的消息摘要哈希。
语法
hash_hmac_file(algo, data, key, binary)
参数
algo | 必填。 指定所选哈希算法的名称(即"md5"、"sha256"、"haval160,4"等)。可以使用 hash_algos() 函数找到支持的算法列表。 |
data | 必填。 指定描述要散列的文件位置的 URL。它支持 fopen 包装器。 |
key | 必需。 指定用于生成消息摘要的 HMAC 变体的共享密钥。 |
binary | 可选。 如果设置为 true,则输出原始二进制数据。默认为 false,输出小写十六进制。 |
返回值
返回包含计算的消息摘要的字符串,作为小写十六进制,除非 binary 设置为 true,在这种情况下,将返回消息摘要的原始二进制表示形式。当 algo 未知或为非加密哈希函数,或者无法读取文件数据时,返回 false。
示例:hash_hmac_file() 示例
下面的示例显示了hash_hmac_file()函数的用法。
<?php
//创建一个文件来计算hash
file_put_contents('test.txt', 'Hello World!');
//使用HMAC方法生成带密钥的哈希值
echo hash_hmac_file('sha1', 'test.txt', 'secretKey');
?>
上述代码的输出将是:
2635ebd3e76d7fb7570d450cee1a6c45cda83dc2