如何在php中创建hmac md5?

时间:2012-12-15 13:10:24

标签: php

我正在使用payU信用卡系统。但我不管理。 payU告诉我,我必须创建hmac md5哈希。

我的密钥是:3~9#[X4 ^ 660?ak +] h6%T 我想转换为HMAC_MD5哈希:8GEMISEPE6208617192012-12-15 15:58:476Deneme117Deneme202103NET112242103TRY2107Antalya7Antalya2TR8CCVISAMC2,3,7,10,12

什么是PHP代码?

2 个答案:

答案 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);