如何在 Postman 中的预请求脚本中计算 md5 哈希

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

本文关键字:脚本 计算 md5 哈希 请求 Postman      更新时间:2023-09-26

我必须在请求中设置一个参数,该参数是另外两个参数的 md5 哈希。我认为预请求脚本可以完成这项工作,但我不知道如何在此脚本中计算 md5。知道吗?

您可以创建以下预请求脚本,前提是您的参数是定义的环境变量。如果以其他方式定义此示例,则需要调整此示例。

// 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之所以有效,是因为它可以在Postman中使用(以及lodash,backbone等)。

通过environment对象访问环境变量很容易。

可以通过postman对象设置环境变量。

运行此预请求后,您可以使用正常的{{hash}}速记访问hash变量。

此外,您可以在此处阅读有关 Postman 中可用的库、变量和属性的信息。

仅供参考,从Postman 4.6.0+开始,您不能再包含具有$.getScript调用和承诺返回的外部库,因为jQuery从4.6.0开始被贬低以支持Cheerio。

因此,如果您希望在预请求脚本中包含第三方库,目前唯一的方法是将文件的内容存储在环境变量中并在 sript 中运行 eval() - 请参阅此处的原因。

例如:

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

但是,Postman 中包含的一些库不需要此解决方法,此处列出了这些库。