不知道曲啥名 2021-06-28 11:40 采纳率: 100%
浏览 31
已采纳

用Python 生成中通的签名

可以测试的签名生成工具地址:https://open.zto.com/#/Console?type=sign 

第一步:待签名字符串=请求参数+appSecret

{"billCodes":["202088881852"],"siteId":"2172"}zto123456

第二步:utf8Bytes= 使用UTF-8编码成byte数组(待签名字符串)

[123, 34, 98, 105, 108, 108, 67, 111, 100, 101, 115, 34, 58, 91, 34, 50, 48, 50, 48, 56, 56, 56, 56, 49, 56, 53, 50, 34, 93, 44, 34, 115, 105, 116, 101, 73, 100, 34, 58, 34, 50, 49, 55, 50, 34, 125, 122, 116, 111, 49, 50, 51, 52, 53, 54]

第三步:md5bytes = md5(utf8Bytes)

[9, 123, -14, 37, 119, -64, -56, 69, -115, -110, -26, -122, 67, -111, -70, -7]

第四步:x-datadigest=base64Str(md5bytes)

CXvyJXfAyEWNkuaGQ5G6+Q==

步骤可以用Python进行实现  如果不行结果用Python实现也行

  • 写回答

1条回答 默认 最新

  • CSDN专家-文盲老顾 2021-06-28 14:01
    关注
    import base64
    import hashlib
    import json
    a = {"billCodes":["202088881852"],"siteId":"2172"}
    b = 'zto123456'
    c = json.dumps(a, separators=(',', ':'))+b
    utf8Bytes = c.encode('utf8')
    md5bytes = hashlib.md5(utf8Bytes).digest()
    xdatadigest=base64.b64encode(md5bytes)
    print(xdatadigest)
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 部分客户订单定位有误的问题
  • ¥15 如何在maya程序中利用python编写领子和褶裥的模型的方法
  • ¥15 Linux权限管理相关操作(求解答)
  • ¥15 Bug traq 数据包 大概什么价
  • ¥15 在anaconda上pytorch和paddle paddle下载报错
  • ¥25 自动填写QQ腾讯文档收集表
  • ¥15 DbVisualizer Pro 12.0.7 sql commander光标错位 显示位置与实际不符
  • ¥15 android 打包报错
  • ¥15 关于stm32的问题
  • ¥15 ncode振动疲劳分析中,noisefloor如何影响PSD函数?