API描述 签名算法

API描述 签名算法
1.将参数(sign 字段外)按键值字典序排列。如.将foo=1&bar=2&baz=3 排序为bar=2&baz=3&foo=1,参数值链接后,得到拼装字符串bar=2&baz=3&foo=1;

2.将获取的对应密钥secretKey:xxxx附在上一步字符串尾后,得到拼装字符串bar=2&baz=3&foo=1xxxx;

3.对此字符串进行MD5签名md5(bar=2&baz=3&foo=1xxxx);
4.空字符串、数组不参与密钥计算


php代码示例:

/**
* 签名算法 $secretKey为约定秘钥
*/
function keySign($pram,$secretKey){
unset($pram["sign"]);
ksort ($pram);
$sign_value = '';
foreach ( $pram as $key => $value ) {
if (is_string($value) && $value == ''){
continue;
}
if (is_array($value)) continue;
if($sign_value!='') {
$sign_value .= '&';
}
$sign_value .= $key . '=' . $value;
}
$sign_value .= $secretKey;
$signature = md5($sign_value);
return $signature;
}

posted @ 2020-08-12 14:36  ziyoujike  阅读(197)  评论(0)    收藏  举报