我有一些必须使用请求参数哈希签名的API.例如,我有2个参数 - 请求参数中的登录名和密码.所以我需要添加用登录名和密码字段哈希计算的param校验和.
我该如何实现它?现在,当我尝试计算它时,我有自依赖性错误.
login = test
password = test
somefield = lalala
checksum = md5([login][password][somefield]) <- here is dynamic evaluation
Run Code Online (Sandbox Code Playgroud)
Mic*_*eri 10
显示自依赖性错误,因为它实际上尝试评估完整URL以获取其他参数之一.这可能是需要在Paw修复的东西.
但是,您可以忽略警告,因为它仍然有效.这是一个例子:

在您的示例中,校验和是8bc22595f820ff1612fd16294c02359a预期结果.
更新:如果您想使用JavaScript代码执行此操作,这是一个示例.
function evaluate(context) {
var url = context.getCurrentRequest().url;
var query = url.split('?')[1];
var fragments = query.split('&');
var login, password, somefield;
for (var i in fragments) {
var keyvalue = fragments[i].split('=');
if (keyvalue[0] == "login") {
login = keyvalue[1];
} else if (keyvalue[0] == "password") {
password = keyvalue[1];
} else if (keyvalue[0] == "somefield") {
somefield = keyvalue[1];
}
}
// you can now compute whatever hash you want with these values
// the self-dependency error will be shown but it should work
return "" + login + "-" + password + "-" + somefield;
};
Run Code Online (Sandbox Code Playgroud)

要使用JS计算MD5哈希值,您需要包含第三方库.通过npm可以更容易(更干净地)完成.了解我们如何管理其他扩展中的依赖项:https://github.com/LuckyMarmot/Paw-PythonRequestsCodeGenerator