【发布时间】:2021-12-11 17:38:43
【问题描述】:
我正在测试一个 api,我必须根据文档将这些数据发送到正文中:
studentId,
apiKey,
timeStamp (current iso time as a string),
messageSignature: apikey+studentId+timeStamp encrypted using sha256,
我在 Pre-request Script 中编写了一个使用 sha256 生成消息签名的脚本。 预请求脚本:
var dateIso = new Date().toISOString();
pm.globals.set("isoDateTostring", dateIso);
console.log('timestamp var is:', pm.globals.get("isoDateTostring"));
let msg = "apiKeyvalue" + "studentId" + pm.globals.get("isoDateTostring");+ JSON.stringify(msg)
const hmac = CryptoJS.algo.HMAC.create(CryptoJS.algo.SHA256, "secretKey");
hmac.update(msg);
const messageSignature = hmac.finalize().toString();
详情(如屏幕截图): 我在正文中写道:
{
"studentId":"********",
"apiKey":"************",
"timeStamp":{{$isoDateTostring}},
"messageSignature": {{$messageSignature}}
}
当我发送请求时,我得到的 base64 是未定义的。
【问题讨论】:
标签: postman sha256 postman-pre-request-script