预请求CryptoJS脚本中的“ TypeError:无法读取未定义的属性'sigBytes'”错误

问题描述

在运行带有cryptojs预请求脚本的邮递员集合时,出现“ TypeError:无法读取未定义的'sigBytes'属性”错误。请求前脚本会计算hmac-sha256签名,该签名也是要调用的主要API参数的一部分。

下面是我的脚本:

let mobile = pm.environment.get('mobileNumber');
let value = pm.environment.get('value');
let merchantId = pm.environment.get('merchantId');
let referenceNumber = pm.environment.get('referenceNumber');
let authCode = pm.environment.get('authCode');
let secretKey = pm.environment.get('secretKey');

let string = mobile + value + merchantId + referenceNumber + authCode;

pm.environment.set('string',string);

let hmac = CryptoJS.HmacSHA256(string,secretKey);

pm.environment.set('hmac',hmac);

signature = "hmac256-" + hmac;

pm.environment.set('signature',signature);

我已经尝试将字符串和secretKey编码为UTF-8,base64stringify,JSON stringify,但是仍然出现错误。

以下是每个变量的样本值:

  • 移动电话-+639012345678
  • 值-100
  • merchantId-TEST_MERCHANT1
  • referenceNumber-TEST_MERCHANT1-000001
  • authCode-000001
  • secretKey-a2c36909-c9cc-4ed3-9423-ec170e1eb6c2

感谢您的帮助!

解决方法

好像没有定义至少一个环境变量。

该错误消息是由于CryptoJS中的错误引起的:https://github.com/brix/crypto-js/issues/85

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...