签名机制

  • 按照参数名称的字典顺序对请求中所有的请求参数进行排序。
  • 按 键值键值 方式拼接成字符串。
  • 在此字符串首尾各拼接一次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;