M测试官 2021-09-03 12:18 采纳率: 25%
浏览 450
已结题

在postman使用MD5加密出来的结果与使用python加密出来的结果不一致?

在postman使用MD5加密出来的结果与使用python加密出来的结果不一致?

var token = '7A4F7B99-EB5E-4885-9C70-AC9F0F0A50C4_49265'
var timestamp = 1630637229627
var requestParam = {
    "phone": "18144854881",
    "customerCode": "075520662307"
}
var signstr1 =(CryptoJS.MD5( CryptoJS.MD5(token).toString().toUpperCase()  +timestamp +requestParam.toString())).toString().toUpperCase();

我在postman加密出来的结果为:2F3B8F32080BD44750E7921E2CDBA484 和我使用python的MD5库加密出来的结果不一致;
上面的 requestParam是直接使用 request.data获取得到的请求数据,timestamp为Math.round(new Date().getTime());获取得到的,有人知道怎么使用python转换的吗?
postman如下图:

img

img

  • 写回答

5条回答 默认 最新

  • Roc-xb 后端领域优质创作者 2021-09-07 05:51
    关注

    这个问题太坑了,我找了好久才找到问题所在,以下是修改的程序代码,主要问题就在于request.data这里

    img

    img

    所以这个位置,看似一样,其实本质还是不同。

    希望能能够采纳支持,谢谢!!!

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
    """
    @author: Roc-xb
    """
    
    import hashlib
    
    def MD5(data):
        m = hashlib.md5()
        m.update(data.encode('utf-8'))
        return m.hexdigest()
    
    if __name__ == '__main__':
        token = '7A4F7B99-EB5E-4885-9C70-AC9F0F0A50C4_49265'
        timestamp = "1630637229627"
        requestParam = "{\r\n    \"phone\": \"18144854881\",\r\n    \"customerCode\": \"075520662307\"\r\n}"
        sign = str(MD5(str(MD5(token)).upper() + timestamp + requestParam)).upper()
        print("sign:",sign)
    

    程序运行结果:

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 9月16日
  • 已采纳回答 9月8日
  • 赞助了问题酬金 9月4日
  • 修改了问题 9月4日
  • 展开全部

悬赏问题

  • ¥50 求恶意流量检测系统搭建教程( C++ python C)
  • ¥15 mmseqs内存报错
  • ¥15 vika文档如何与obsidian同步
  • ¥15 华为手机相册里面的照片能够替换成自己想要的照片吗?
  • ¥15 陆空双模式无人机飞控设置
  • ¥15 sentaurus lithography
  • ¥100 求抖音ck号 或者提ck教程
  • ¥15 关于#linux#的问题:子进程1等待子进程A、B退出后退出(语言-c语言)
  • ¥20 web页面如何打开Outlook 365的全球离线通讯簿功能
  • ¥15 io.jsonwebtoken.security.Keys