在PHP中生成MD5签名

时间:2012-02-07 19:13:50

标签: php md5 digital-signature

我必须通过PHP中的cURL提交数组,并且数组中的一个项必须是使用MD5在数组项和公钥的串联上生成的签名:

// public key
$key = '4d7894219f3d28a6fbb8c415779dfffc';

// payload; each item was initialized
$vars = array(
    'id'=>$id,
    'name'=>$name,
    'phone'=>$phone,
    'email'=>$email,
    'subject'=>$subject,
    'notes'=>$notes,
    'time'=>date('Y-m-d H:m:s'),
);

// Now create a HTTP query with the items of the array
$caesar = '';
foreach ($vars as $key2 => $value) {
    $caesar = $caesar . $key2 . '=' . $value . '&';
}
unset($key2);
unset($value);
$caesar = substr($caesar, 0, -1);

// Concatenate the string from step 2 and $key (string then $key)
$caesar = $caesar . $key;

//MD5
$signature = md5($caesar);

稍后我将sig添加到数组并使用cURL传输数组。但是服务器不断返回“无效签名”。我没有看到什么是错的。请帮我确定问题所在。感谢。

0 个答案:

没有答案