溫馨提示×

hash() php 怎樣自定義哈希函數(shù)

PHP
小樊
81
2024-09-23 23:28:50
欄目: 編程語言

在 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 變量的值。

0