这里会显示出您选择的修订版和当前版本之间的差别。
| 两侧同时换到之前的修订记录 前一修订版 后一修订版 | 前一修订版 | ||
|
帮我吧文档:数据接口:工单:提交工单 [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加密拼接好链接,就可实现免登录提交工单了\\ | ||
| + | '' | ||