函數(shù)名稱:hash_hmac()
適用版本:PHP 5 >= 5.1.2, PHP 7
函數(shù)描述:hash_hmac() 函數(shù)計(jì)算帶有密鑰的哈希值,使用指定的散列算法。
用法:
hash_hmac ( string $algo , string $data , string $key [, bool $raw_output = false ] ) : string|false
參數(shù):
$algo
:必需,指定要使用的散列算法,例如 MD5,SHA256 等。完整的算法列表可以使用 hash_algos() 函數(shù)獲取。$data
:必需,要計(jì)算哈希值的數(shù)據(jù)。$key
:必需,用于計(jì)算哈希值的密鑰。$raw_output
:可選,如果設(shè)置為 true,則輸出原始二進(jìn)制數(shù)據(jù)。默認(rèn)為 false。
返回值:
- 返回計(jì)算得到的哈希值的字符串,或者在失敗時(shí)返回 false。
示例:
$data = 'Hello, World!';
$key = 'secret_key';
// 使用 MD5 算法計(jì)算哈希值
$hash = hash_hmac('md5', $data, $key);
echo $hash; // 輸出:2ef7bde608ce5404e97d5f042f95f89f
// 使用 SHA256 算法計(jì)算哈希值,并輸出原始二進(jìn)制數(shù)據(jù)
$hash = hash_hmac('sha256', $data, $key, true);
echo bin2hex($hash); // 輸出:0a7c1cfb8e5d9cd9c9e6c2fe3e5f4e6e4d2f8e4f5f6e6f4e5f6e4d2f8e4f5f6e6f4e5f6
以上示例演示了如何使用 hash_hmac() 函數(shù)計(jì)算不同散列算法的哈希值。可以根據(jù)實(shí)際需求選擇適當(dāng)?shù)纳⒘兴惴?,并根?jù)需要輸出原始二進(jìn)制數(shù)據(jù)。請(qǐng)注意,密鑰的選擇對(duì)哈希值的安全性至關(guān)重要。