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

Posted

技术标签:

【中文标题】如何在 PostMan 的预请求脚本中计算 md5 哈希?【英文标题】:How to compute a md5 hash in a pre-request script in PostMan? 【发布时间】:2015-05-13 13:39:18 【问题描述】:

我必须在我的请求中设置一个参数,它是其他两个参数的 md5 哈希。我认为预请求脚本可以完成这项工作,但我不知道如何在这个脚本中计算 md5。有什么想法吗?

【问题讨论】:

【参考方案1】:

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

// 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 变量。

此外,您还可以阅读here,了解 Postman 中可用的库、变量和属性。

【讨论】:

【参考方案2】:

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

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

例如:

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

但是 Postman 包含的一些库不需要此解决方法,它们是 listed here。

【讨论】:

以上是关于如何在 PostMan 的预请求脚本中计算 md5 哈希?的主要内容,如果未能解决你的问题,请参考以下文章

使用 Postman 的预请求脚本实现自动刷新接口凭证建议收藏

使用 Postman 的预请求脚本实现自动刷新接口凭证

Postman的预请求脚本

邮递员 - 在预请求脚本中访问完整的请求正文(以计算哈希)

postman发送请求的其中一个值需要MD5加密,如何加密的

在 Postman 预请求脚本中生成 RSA JWT