签名算法
接口描述:
生成签名
签名算法流程:
1. 请求参数
{
"User_Id": "2000000049",
"Local_Id": "wuxi",
"Order": "asc",
"Order_By": "NAME"
} 2. 按键名升序排序(按ASCII码逐字符比较,大写字母(A-Z)排在小写字母(a-z)之前)
{
"Local_Id": "wuxi",
"Order": "asc",
"Order_By": "NAME",
"User_Id": "2000000049"
}3. 构造待签名字符串
拼接所有请求参数,如果所传参数值为数组,该值转为json格式,并在字符串结尾拼接secretKey
"Local_IdwuxiOrderascOrder_ByNAMEUser_Id200000004968c89dcf82666718c8fd2708165979c5"
4. md5签名获得Signature
"dfcbc0f95567adcba9a0bf455ef9d9b9"
签名算法示例:
//签名算法(PHP)
public function getSignature($params,$secretKey){
ksort($params);//参数串排序
$params_data = "";
if(is_array($value)){
$value = json_encode($value);
} elseif ($value instanceof \CURLFile) {
continue; //file类型字段不参与签名
}
$params_data .= $key . $value;
return md5($params_data);
}