签名机制
- 按照参数名称的字典顺序对请求中所有的请求参数进行排序。
- 按 键值键值 方式拼接成字符串。
- 在此字符串首尾各拼接一次secret_key
- 对拼接后的字符串进行md5,得到sign。
DEMO
$secret_key = "9rdmeq5mfqbkcnocm9cp7pzz";//应用密钥,从知客提供
// 用户参数示例
$params = [
"activity_id"=> "123456789",
"app_id"=> "1111",
"signed_at"=> "1484620708"
];
// 按参数名升序排列
ksort($params);
// 初始化签名字串
$str = '';
// 将键值组合连接到签名字串上
foreach ($params as $k => $v) {
$str .= $k.$v;
}
// 将签名字串前后两端加上秘钥进行MD5运算
$sign = md5($secret_key . $str . $secret_key);
// 将sign签名放到请求数据中
$params["sign"] = $sign;