How to compute a md5 hash in a pre-request script in PostMan?

前端 未结 2 355
执念已碎
执念已碎 2021-02-01 14:52

I have to set a parameter in my request that is a md5 hash of two other parameters. I think a pre-request script can do the job, but I do not know how to compute a md5 in this s

相关标签:
2条回答
  • 2021-02-01 15:39

    FYI, since Postman 4.6.0+ you can no longer include external libraries with $.getScript calls and promise returns, as jQuery was depreciated in favour of Cheerio from 4.6.0.

    Therefore if you wish to include a third party library in your pre-request scripts, at present the only way to do so is storing the contents of the file in a environment variable and running eval() in your sript - see why here.

    For example:

    eval(postman.getEnvironmentVariable("JSSHA")); 
    

    There are however some libraries included with Postman that do not require this workaround, these are listed here.

    0 讨论(0)
  • 2021-02-01 15:55

    You can create the following pre-request script provided your parameters are defined environment variables. You would need to tweak this example if they are defined in some other fashion.

    // Access your env variables like this
    var str_1 = environment.variable_1 + environment.variable_2;
    
    // Or get your request parameters
    var str_2 = request.data["foo"] + request.data["bar"];
    
    // Use the CryptoJS
    var hash = CryptoJS.MD5(str_1 + str_2).toString();
    
    // Set the new environment variable
    postman.setEnvironmentVariable('hash', hash);
    

    CryptoJS works because it's available in Postman (as well as lodash, backbone etc).

    Accessing environment variables is easy through the environment object.

    Setting environment variables is available through the postman object.

    After this pre-request has run you can access the hash variable using the normal {{hash}} shorthand.

    Also, you can read here about libraries, variables and properties available in Postman.

    0 讨论(0)
提交回复
热议问题