在 PHP 中,可以使用 hash()
函數(shù)來生成哈希值。如果要自定義哈希函數(shù),可以使用 hash_hmac()
函數(shù)。
hash_hmac()
函數(shù)的語法如下:
string hash_hmac ( string $algo , string $data , string $key [, bool $raw_output = false ] ) : string
其中,$algo 是哈希算法名稱,$data 是要加密的數(shù)據(jù),$key 是用于加密的密鑰,$raw_output 是否返回二進(jìn)制格式的哈希值。
例如,要使用自定義的哈希函數(shù)來生成一個 MD5 哈希值,可以使用以下代碼:
function custom_md5($data, $key) {
return md5($data . $key);
}
$data = 'Hello, world!';
$key = 'secret';
$hash = hash_hmac('md5', $data, $key, true);
echo $hash; // 輸出:86cb01ef224a27360ce700b5ed0e9b5d
在上面的示例中,我們定義了一個名為 custom_md5()
的自定義哈希函數(shù),該函數(shù)將輸入數(shù)據(jù)和密鑰連接起來,并使用 PHP 內(nèi)置的 md5()
函數(shù)來生成哈希值。然后,我們使用 hash_hmac()
函數(shù)來調(diào)用自定義哈希函數(shù),并將結(jié)果存儲在 $hash
變量中。最后,我們輸出了 $hash
變量的值。