将收到的返回JSON的data数据,如
{"code": 200, "msg": "true", "data": {"键b": "值b", "键a": "值a"}, "sign": "xxxx"}
的键按照从小到大的顺序排列,然后按照:”键a=值a&键b=值b” 的方式构造字符串(), 最后在构造的字符串加上:”&appkey=”+你的APPkey 得到:”键a=值a&键b=值b&appkey=YourAppKey”,再将这段字符串使用SHA256加密,得到签名后的签值,与sign的值比对一致则验签通过
下面是服务器生成签名的原始代码:
// 生成签名函数
function generateSign($data, $appKey): string
{
if (is_array($data)) {
ksort($data);
$stringToSign = '';
foreach ($data as $key => $value) {
if ($key !== 'sign') {
$stringToSign .= $key . '=' . $value . '&';
}
}
$stringToSign .= 'key=' . $appKey;
} else {
$stringToSign = $data . '&key=' . $appKey;
}
return hash('sha256', $stringToSign);
}
如有疑问或免费获取appkey,请QQ联系3272976382