签名验签说明

将收到的返回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

评论

《“签名验签说明”》 有 1 条评论

  1. […] 建议根据业务实际需求对收到的响应内容进行验签处理,详情可查看签名验签说明 […]

发表回复