会点 Vue.js ThinkPHP Workerman Swoole 的搬运工

0%

API接口 签名效验

客户端生成

必要参数值

  • token
  • 时间戳
  • 随机字符
1
2
3
4
5
6
7

$params = sort([
token值, 时间戳, 随机字符, ...更多自定义参数
], SORT_STRING);

$tmpStr = implode($params);
$sign = sha1($tmpStr);

服务端验证

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

$signature = $data['signature'];

unset($data['signature'])

$tmpArr= array_values($data);
sort($tmpArr, SORT_STRING);
$tmpStr = implode($tmpArr);
$tmpStr = sha1($tmpStr);

if ($tmpStr == $signature) {
return true;
} else {
return false;
}