在有些支付文档或其他文档都会要求签名验证
/**
* description:签名
* function name:sign
* @param $data
* @return string
*/
function sign($data) {
$key = '123456';
ksort($data);
foreach ($data as $key=>$value) {
if ($value == '') unset($data[$key]);
}
$data['key'] = $key;
return strtoupper(md5((http_build_query($data)));
}
上面的签名方法好像符合要求,结果调用报签名验证失败
后来在将
strtoupper(md5((http_build_query($data)));
改为
strtoupper(md5(urldecode(http_build_query($data))));
就好了