simApi

物联网平台API


通信规范

<h2>签名算法</h2> <ul> <li><strong>appId和apiKey在平台 &quot;API通信功能&quot; 中设置和查看;</strong></li> </ul> <p><strong>签名生成的通用步骤如下:</strong> <strong>第一步</strong>,设所有发送的数据为集合M,将集合M内非空参数值的参数按照参数名ASCII码从小到大排序(字典序),使用URL键值对的格式(即key1=value1&amp;key2=value2…)拼接成字符串stringA。 特别注意以下重要规则:</p> <ul> <li>参数名ASCII码从小到大排序(字典序);</li> <li>如果参数的值为空不参与签名;</li> <li>参数名区分大小写;</li> </ul> <p><strong>第二步</strong>,在stringA最后拼接上apikey得到stringSignTemp字符串,并对stringSignTemp进行MD5运算,再将得到的字符串所有字符转换为大写,得到sign值signValue。</p> <hr /> <p><strong>举例:</strong> 假设发送的参数如下:</p> <pre><code class="language-css">appId : rtyopipogh simId : 8986061910002738822 timeStamp : 1596641631</code></pre> <p>第一步:对参数按照key=value的格式,并按照参数名ASCII字典序排序如下:</p> <pre><code class="language-css">stringA = "appId=rtyopipogh&amp;simId=8986061910002738822&amp;timeStamp=1596641631";</code></pre> <p>第二步:拼接API密钥:</p> <pre><code class="language-css">stringSignTemp = stringA + "&amp;apiKey=53b643a4bb6dfdad02494d8503a27d91" //注:apiKey在平台Api通信项中查看 sign = md5(stringSignTemp).toUpperCase() //注:MD5加密后,把字符串转换为大写</code></pre> <p>得到最终发送的数据(以下数据只用于示例,不具备真实性):</p> <pre><code class="language-css">"appId=rtyopipogh&amp;simId=8986061910002738822&amp;timeStamp=1596641631&amp;sign=FE92CF150D924F4D3A7F8C2E6DD98AF5";</code></pre> <ul> <li>timeStamp字段说明 timeStamp字段主要用于保证签名不可预测,其取值为当前时间UNIX时间戳(秒级),平台允许误差为10分钟,请确保发送端的时间准确性。</li> </ul>

页面列表

ITEM_HTML