这里会显示出您选择的修订版和当前版本之间的差别。
两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
帮我吧文档:数据接口:工单:提交工单 [2020/05/26 16:35] admin |
帮我吧文档:数据接口:工单:提交工单 [2023/03/10 18:46] (当前版本) admin |
||
---|---|---|---|
行 32: | 行 32: | ||
* | * | ||
- | 3. 签名代码示例(PHP版) | + | 3. 签名代码示例\ |
+ | * PHP版 | ||
<code php> | <code php> | ||
行 80: | 行 81: | ||
</ | </ | ||
+ | * | ||
+ | <code java> | ||
+ | |||
+ | import java.util.Collections; | ||
+ | import java.util.Comparator; | ||
+ | import java.util.Iterator; | ||
+ | import java.util.Map; | ||
+ | import java.util.Set; | ||
+ | import java.util.TreeMap; | ||
+ | import java.security.MessageDigest; | ||
+ | import java.util.ArrayList; | ||
+ | import java.util.List; | ||
+ | import java.util.Map.Entry; | ||
+ | |||
+ | class Signature{ | ||
+ | |||
+ | public String makeSignature(Map< | ||
+ | map.put(" | ||
+ | map.put(" | ||
+ | map.put(" | ||
+ | |||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | } | ||
+ | |||
+ | }); | ||
+ | | ||
+ | | ||
+ | | ||
+ | } | ||
+ | return sha1(tempStr); | ||
+ | } | ||
+ | |||
+ | public String sha1(String str){ | ||
+ | char hexDigits[] = { ' | ||
+ | ' | ||
+ | try { | ||
+ | MessageDigest mdTemp = MessageDigest.getInstance(" | ||
+ | mdTemp.update(str.getBytes(" | ||
+ | byte[] md = mdTemp.digest(); | ||
+ | int j = md.length; | ||
+ | char buf[] = new char[j * 2]; | ||
+ | int k = 0; | ||
+ | for (int i = 0; i < j; i++) { | ||
+ | byte byte0 = md[i]; | ||
+ | buf[k++] = hexDigits[byte0 >>> | ||
+ | buf[k++] = hexDigits[byte0 & 0xf]; | ||
+ | } | ||
+ | return new String(buf); | ||
+ | } catch (Exception e) { | ||
+ | return null; | ||
+ | } | ||
+ | } | ||
+ | |||
+ | public static void main(String[] args) { | ||
+ | |||
+ | Map< | ||
+ | map.put(" | ||
+ | map.put(" | ||
+ | |||
+ | Signature signature = new Signature(); | ||
+ | String sign = signature.makeSignature(map); | ||
+ | |||
+ | System.out.println(sign); | ||
+ | |||
+ | } | ||
+ | } | ||
+ | |||
+ | |||
+ | </ | ||
4. 最终生成的带签名的url链接示例: | 4. 最终生成的带签名的url链接示例: | ||
>注: 此链接打开一小时后失效。 | >注: 此链接打开一小时后失效。 | ||
- | + | (1)先把params后面的参数加密部分通过base64进行解密\\ | |
- | '' | + | (2)然后在后方拼接上文档中的必要参数\\ |
+ | (3)最后将params后方部分整体base64加密拼接好链接,就可实现免登录提交工单了\\ | ||
+ | '' | ||