PHP Conference Japan 2024

hash_hmac_file

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

hash_hmac_file使用 HMAC 方法和指定檔案的內容產生金鑰雜湊值

說明

hash_hmac_file(
    字串 $algo,
    字串 $filename,
    #[\SensitiveParameter] 字串 $key,
    布林值 $binary = false
): 字串 (string)|false

參數

algo

所選雜湊演算法的名稱(例如 "sha256")。支援的演算法列表請參見 hash_hmac_algos()

注意:

不允許非加密雜湊函數。

filename

描述要雜湊的檔案位置的 URL;支援 fopen wrappers。

key

用於產生訊息摘要的 HMAC 變體的共享密鑰。

binary

設為 true 時,輸出原始二進位資料。false 則輸出小寫十六進位字元。

回傳值

返回一個字串,其中包含以小寫十六進位字元表示的計算出的訊息摘要,除非 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

另請參閱

新增註解

使用者提供的註解

此頁面沒有使用者提供的註解。
To Top