function getSignature($params, $secret='GoCkn^*poqLyhp5hY(4<|qBR6.55[X$g'){ $str = ''; //待签名字符串 //先将参数以其参数名的字典序升序进行排序 ksort($params); //遍历排序后的参数数组中的每一个key/value对 foreach ($params as $k => $v) { //为key/value对生成一个key=value格式的字符串,并拼接到待签名字符串后面 $str .= "$k=$v"; } //将签名密钥拼接到签名字符串最后面 $str .= $secret; //通过md5算法为签名字符串生成一个md5签名,该签名就是我们要追加的sign参数值 return md5($str); }
双方约定加密key,保证请求的合法性和数据安全性。