我正在使用payU信用卡系統。但我不管理。 payU告訴我必須創建hmac md5哈希值。如何在php中創建hmac md5?
我的密鑰是:3〜9#[X4^660 AK +?] H6%T 我想轉換爲HMAC_MD5哈希:8GEMISEPE6208617192012-12-15 15:58:476Deneme117Deneme202103NET112242103TRY2107Antalya7Antalya2TR8CCVISAMC2,3,7,10, 12
什麼是php代碼?
我正在使用payU信用卡系統。但我不管理。 payU告訴我必須創建hmac md5哈希值。如何在php中創建hmac md5?
我的密鑰是:3〜9#[X4^660 AK +?] H6%T 我想轉換爲HMAC_MD5哈希:8GEMISEPE6208617192012-12-15 15:58:476Deneme117Deneme202103NET112242103TRY2107Antalya7Antalya2TR8CCVISAMC2,3,7,10, 12
什麼是php代碼?
您可以輕鬆地做到這一點使用hash_hmac()
功能:
$input = 'foo';
$output = hash_hmac('md5', $input, $secretKey);
其中$secretKey
握着你的關鍵的字符串表示。
,這沒有爲我工作。他們使用的公式不同於PHP hash_hmac轉換..我想知道爲什麼... – drukaman
這個PHP函數類的工作對我來說:
function hmac ($key, $data)
{
// RFC 2104 HMAC implementation for php.
// Creates an md5 HMAC.
// Eliminates the need to install mhash to compute a HMAC
// Hacked by Lance Rushing
$b = 64; // byte length for md5
if (strlen($key) > $b) {
$key = pack("H*",md5($key));
}
$key = str_pad($key, $b, chr(0x00));
$ipad = str_pad('', $b, chr(0x36));
$opad = str_pad('', $b, chr(0x5c));
$k_ipad = $key^$ipad ;
$k_opad = $key^$opad;
return md5($k_opad . pack("H*",md5($k_ipad . $data)));
}
$x_fp_hash = hmac($string1,$string2);
關於「密鑰」的東西通常是你讓他們祕密;) – Niko
我希望你會採取必要的措施來避免這一問題成爲您的應用程序的安全漏洞! – markus
你到目前爲止嘗試過什麼嗎? – Touki