聚灵001


签名计算规则

<h3>!!前情提示!!:</h3> <p>请勿将你商户的 ID &amp; Key 暴露给其他任何不相关的人,如造成不必要的损失,我司概不负责! </p> <hr /> <h4>签名简要描述:</h4> <ul> <li>除sign字段外,所有参数按照字段名的ascii码从小到大排序后,使用QueryString的格式(即key1=value1&amp;key2=value2…)拼接成字符串后,空值不传递,不参与签名组串。,再在前后追加上 商户KEY的值,然后转换成32位小写的MD5字符串。</li> </ul> <p><strong>注意事项:空值参数或者NULL不要参与签名!空值参数或者NULL不要参与签名!空值参数或者NULL不要参与签名</strong>!</p> <p><strong>例子:</strong><br /> 商户ID 值为: 10052</p> <p>商户KEY 值为: 9aa3034b6beba7cf5bfcf6089218a673</p> <h4>假设请求参数为:</h4> <pre><code>{ &amp;quot;userid&amp;quot;: &amp;quot;10052&amp;quot;, &amp;quot;timestamp&amp;quot;: 1735002156, &amp;quot;goodsid&amp;quot;: &amp;quot;720938&amp;quot;, &amp;quot;buynum&amp;quot;: 1, &amp;quot;attach&amp;quot;: &amp;quot;13088888888&amp;quot;, &amp;quot;sign&amp;quot;: &amp;quot;82a4da7502872e7a128b510d10cad6ab&amp;quot; }</code></pre> <h4>验签步骤:</h4> <h5>第一步:拼接字符串如下</h5> <pre><code>attach=13088888888&amp;amp;buynum=1&amp;amp;goodsid=720938&amp;amp;timestamp=1735002156&amp;amp;userid=10052</code></pre> <h5>第二步:尾部追加上 商户key 的MD5源串如下(注意这是签名的拼接明文不是提交数据):</h5> <p>&gt; attach=13088888888&amp;buynum=1&amp;goodsid=720938&amp;timestamp=1735002156&amp;userid=100529aa3034b6beba7cf5bfcf6089218a673</p> <h5>第三步:MD5后转成32位小写的签名值如下:</h5> <p>921bfe2dcd4ecca574d8b8c76412ede5</p> <p>PHP代码示例:</p> <pre><code>/** *$param是提交数据数组 *$token商户KEY */ public function getKkySign($param, $token) { ksort($param); //排序post参数 reset($param); //内部指针指向数组中的第一个元素 $signtext = &amp;#039;&amp;#039;; foreach ($param as $key =&amp;gt; $val) { //遍历POST参数 if ($val === &amp;#039;&amp;#039; || $key == &amp;#039;sign&amp;#039; || is_null($val)) { continue; //跳过这些不签名 } if (is_bool($val)) { if ($val) { $val = &amp;#039;true&amp;#039;; } else { $val = &amp;#039;false&amp;#039;; } } if ($signtext) $signtext .= &amp;#039;&amp;amp;&amp;#039;; //第一个字符串签名不加&amp;amp; 其他加&amp;amp;连接起来参数 if (is_array($val)) { $signtext .= &amp;quot;$key=&amp;quot; . json_encode($val, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES); } else { $signtext .= &amp;quot;$key=$val&amp;quot;; //拼接为url参数形式 } } $newsign = md5($signtext . $token); return $newsign; }</code></pre>

页面列表

ITEM_HTML