= 5.1.2, PHP 7, PHP 8, PECL hash >= 1.1)hash_hmac_file — 使用 HMAC 方法和給定文件的內(nèi)容生成帶密鑰的哈希值說明hash_hmac_file( string $algo, string">

hash_hmac_file

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

hash_hmac_file使用 HMAC 方法和給定文件的內(nèi)容生成帶密鑰的哈希值

說明

hash_hmac_file(
    string $algo,
    string $filename,
    string $key,
    bool $binary = false
): string|false

參數(shù)

algo

要使用的哈希算法名稱,例如:"md5","sha256","haval160,4" 等。 如何獲取受支持的算法清單,請參見 hash_hmac_algos() 函數(shù)。

filename

要進(jìn)行哈希運算的文件路徑,支持 fopen 封裝器。

key

使用 HMAC 生成信息摘要時所使用的密鑰。

binary

設(shè)置為 true 輸出原始二進(jìn)制數(shù)據(jù), 設(shè)置為 false 輸出小寫 16 進(jìn)制字符串。

返回值

如果 binary 設(shè)置為 true, 則返回原始二進(jìn)制數(shù)據(jù)表示的信息摘要, 否則返回 16 進(jìn)制小寫字符串格式表示的信息摘要。 如果 algo 參數(shù)指定的不是受支持的算法,或者無法讀取 filename 給定的文件,則返回 false

更新日志

版本 說明
7.2.0 不再支持非加密的哈希函數(shù)(adler32,crc32,crc32b,fnv132,fnv1a32,fnv164,fnv1a64,joaat)。

范例

示例 #1 hash_hmac_file() 例程

<?php
/* 創(chuàng)建一個要計算哈希值的文件 */
file_put_contents('example.txt''The quick brown fox jumped over the lazy dog.');

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

以上例程會輸出:

7eb2b5c37443418fc77c136dd20e859c

參見

  • hash_hmac_algos() - Return a list of registered hashing algorithms suitable for hash_hmac
  • hash_hmac() - 使用 HMAC 方法生成帶有密鑰的哈希值
  • hash_file() - 給指定文件的內(nèi)容生成哈希值