【问题标题】:The hmac(sha1) has different result between postman and python邮递员和python之间的hmac(sha1)结果不同
【发布时间】:2019-12-20 18:10:17
【问题描述】:

我的代码postman和python的结果不同,希望python执行的结果和postman一致。

  • 邮递员
var secret = 'gourds';
var mmd5 = 'sha1=' + CryptoJS.HmacSHA1(JSON.stringify(JSON.parse(params)),secret).toString(CryptoJS.enc.Hex);
  • Python
hmac.new(str.encode('gourds'),json.dumps(json.loads(md,object_pairs_hook=OrderedDict)),sha1).hexdigest()

【问题讨论】:

    标签: javascript python json postman hmacsha1


    【解决方案1】:

    现在我找到了原因。 因为内容不同。 python脚本中的多余空格和不正确的编码

    import sys
    reload(sys)
    sys.setdefaultencoding('utf-8')
    ...
    json.dumps(json.loads(md,object_pairs_hook=OrderedDict),separators=(',',':'),ensure_ascii=False)
    

    【讨论】:

      猜你喜欢
      • 2012-10-12
      • 2016-07-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-13
      • 1970-01-01
      • 2011-10-26
      • 1970-01-01
      相关资源
      最近更新 更多