算法系统

算法系统API


签名算法

<h3>第一步:生成字符串stringA</h3> <ol> <li> <p><strong>获取参数集合M:</strong> 收集所有发送或接收到的数据,形成参数集合M。</p> </li> <li> <p><strong>移除sign和空参数:</strong> 将集合M内sign参数和所有值为空的参数移除。</p> </li> <li> <p><strong>参数名排序:</strong> 对集合M中的参数名进行ASCII码从小到大排序(字典序)。</p> </li> <li><strong>拼接参数为字符串:</strong> 按照<code>key1=value1&amp;amp;key2=value2...</code>的格式将参数拼接成字符串stringA。</li> </ol> <h3>第二步:生成签名sign</h3> <ol> <li> <p><strong>拼接秘钥:</strong> 在拼接后的字符串stringA的末尾加上秘钥,形成新的字符串stringSignTemp:</p> <pre><code>stringSignTemp = stringA + &amp;quot;&amp;amp;key=YOUR_SECRET_KEY&amp;quot;</code></pre> </li> <li> <p><strong>MD5运算:</strong> 对stringSignTemp进行MD5运算,得到一个128位的哈希值。</p> </li> <li> <p><strong>转换为大写:</strong> 将MD5运算得到的哈希值转化为大写,得到签名sign。</p> <p><strong> 例子:</strong></p> <pre><code>假设stringA为: D=valueD&amp;amp;a=valueA&amp;amp;b=valueB 假设密钥为: 123456 拼接后的stringSignTemp为: D=valueD&amp;amp;a=valueA&amp;amp;b=valueB&amp;amp;key=123456 对stringSignTemp进行MD5运算得到的哈希值为(示例,下同): 5d41402abc4b2a76b9719d911017c592 转换为大写后的sign值: 5D41402ABC4B2A76B9719D911017C592</code></pre> </li> </ol> <h4>总结:</h4> <ul> <li><strong>Step 1:</strong> 构造排序后的stringA;</li> <li><strong>Step 2:</strong> 在stringA后拼接秘钥,进行MD5运算并转为大写,得到签名sign。</li> </ul>

页面列表

ITEM_HTML