函数名称:hash_hmac()
适用版本:PHP 5 >= 5.1.2, PHP 7
函数描述:hash_hmac() 函数计算带有密钥的哈希值,使用指定的散列算法。
用法:
hash_hmac ( string $algo , string $data , string $key [, bool $raw_output = false ] ) : string|false
参数:
$algo
:必需,指定要使用的散列算法,例如 MD5,SHA256 等。完整的算法列表可以使用 hash_algos() 函数获取。$data
:必需,要计算哈希值的数据。$key
:必需,用于计算哈希值的密钥。$raw_output
:可选,如果设置为 true,则输出原始二进制数据。默认为 false。
返回值:
- 返回计算得到的哈希值的字符串,或者在失败时返回 false。
示例:
$data = 'Hello, World!';
$key = 'secret_key';
// 使用 MD5 算法计算哈希值
$hash = hash_hmac('md5', $data, $key);
echo $hash; // 输出:2ef7bde608ce5404e97d5f042f95f89f
// 使用 SHA256 算法计算哈希值,并输出原始二进制数据
$hash = hash_hmac('sha256', $data, $key, true);
echo bin2hex($hash); // 输出:0a7c1cfb8e5d9cd9c9e6c2fe3e5f4e6e4d2f8e4f5f6e6f4e5f6e4d2f8e4f5f6e6f4e5f6
以上示例演示了如何使用 hash_hmac() 函数计算不同散列算法的哈希值。可以根据实际需求选择适当的散列算法,并根据需要输出原始二进制数据。请注意,密钥的选择对哈希值的安全性至关重要。