无法为 Cybersource 签名标头生成正确的 HMAC 256 哈希
我已经为此工作了几天,我可以使用提供的示例代码轻松地让它在 .Net 中工作,以生成正确的 HMAC 签名。但是我无法让 CryptoJS 工作,我相信它源于 CryptoJS 在内部将“\n”解释为 LRCF 并因此抛出加密的事实。请注意,我仅限于 ECMA5,并且已将 CryptoJS 作为缩小函数引入。
var data = "host: api.cybersource.com\ndate: Mon, 10 Jun 2019 20:41:05 GMT\n(request-target): get /reporting/v3/report-downloads?organizationId={OrgId}&reportDate=2019-06-06&reportName=PaymentBatchDetailReport\nv-c-merchant-id: {MerchId}";
var hash = CryptoJS.HmacSHA256(data, "{SecretKey}");
var base64 = CryptoJS.enc.Base64.stringify(hash);
document.write(base64);
任何帮助将不胜感激!