1、除sign字段外,所有参数按照字段名的ascii码从小到大排序后使用QueryString的格式(即key1=value1&key2=value2…)拼接而成,空值不传递,不参与签名组串。 2、签名原始串中,字段名和字段值都采用原始值,不进行URL Encode。 3、拼接好的字符串+key 取MD5值 PHP签名生成示例: ``` *$param 下单参数 *$userkey 商户密钥 */ private function getKkySign($param,$userkey){ ksort($param); //排序post参数 reset($param); //内部指针指向数组中的第一个元素 $signtext=''; foreach ($param AS $key => $val) { //遍历POST参数 if ($val == '' || $key == 'sign') continue; //跳过这些不签名 if ($signtext) $signtext .= '&'; //第一个字符串签名不加& 其他加&连接起来参数 $signtext .= "$key=$val"; //拼接为url参数形式 } $newsign=md5($signtext.$userkey); return $newsign; } ``` 更新于 2026-08-10 20:14 阅读 2 ← 协议规则 相关问题 平台简介 协议规则