我正在使用payU信用卡系统。但我不管理。 payU告诉我,我必须创建hmac md5哈希。
我的密钥是:3~9#[X4 ^ 660?ak +] h6%T 我想转换为HMAC_MD5哈希:8GEMISEPE6208617192012-12-15 15:58:476Deneme117Deneme202103NET112242103TRY2107Antalya7Antalya2TR8CCVISAMC2,3,7,10,12
什么是PHP代码?
答案 0 :(得分:19)
您可以使用hash_hmac()
功能轻松完成此操作:
$input = 'foo';
$output = hash_hmac('md5', $input, $secretKey);
其中$secretKey
包含您的密钥的字符串表示。
答案 1 :(得分:1)
这个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);