【问题标题】:Calculate hash of request body in Postman在 Postman 中计算请求正文的哈希
【发布时间】:2016-02-10 08:02:15
【问题描述】:

我们的网络服务需要整个主体的 MD5 哈希值。 我认为这可以通过预请求脚本来完成。有人知道我如何在预请求脚本中访问请求正文吗?

我发现这个用于创建 md5:How to compute a md5 hash in a pre-request script in PostMan?

...但它没有显示如何访问正文。

【问题讨论】:

    标签: hash request postman md5


    【解决方案1】:

    找到我的解决方案

    我访问请求数据并对其进行字符串化,然后将所有内容推送到一个数组中并与加入我的字符串一起生成。 在这之后只需要一些 MD5 方法,瞧,一切正常。

    var rdata = request.data;
    var requestLength = JSON.stringify(JSON.parse(rdata)).length;
    
    var presharedkey = "XXXXKEYXXXXX";
    var DeviceID = "3111110000666000";
    var d = new Date();
    var timestamp = d.getTime();
    
    var AdditionalInfoString = [];
    AdditionalInfoString.push(requestLength,DeviceID,presharedkey,timestamp);
    AdditionalInfoString = AdditionalInfoString.join("");
    
    var hash = CryptoJS.MD5(AdditionalInfoString);
    
    postman.setGlobalVariable("AdditionalInfo", hash.toString());
    

    【讨论】:

      【解决方案2】:

      您可以使用pm.request.body.toString() 直接在预请求脚本中访问请求正文。计算哈希很简单:

      // MD5 hash as hex string
      postman.setEnvironmentVariable('contentMd5', 
          CryptoJS.MD5(pm.request.body.toString()).toString());
      

      如果您需要 base64 编码的哈希,那么它是

      // Base64-encoded MD5 hash
      postman.setEnvironmentVariable('contentMd5', 
          CryptoJS.MD5(pm.request.body.toString()).toString(CryptoJS.enc.Base64));
      

      【讨论】:

        猜你喜欢
        • 2015-05-13
        • 2018-09-05
        • 1970-01-01
        • 1970-01-01
        • 2016-06-23
        • 1970-01-01
        • 2012-07-12
        • 2017-01-27
        • 1970-01-01
        相关资源
        最近更新 更多