[英]HMAC sha1 signature mismatch with x-hub-signature headers
我正在尝试验证 HMAC 签名,但我几乎尝试了所有方法,但无法使其正常工作。 下面是我的代码..
const sig = request.headers['x-hub-signature'] || '';
const hmac = crypto.createHmac('sha1', '56e2a9fa00996dd4b026b55a5134df650acb42c83767dd5456eb2f3496ef85a4');
const digest = Buffer.from('sha1=' + hmac.update(JSON.stringify(request.body)).digest('hex'), 'utf8');
const checksum = Buffer.from(sig, 'utf8');
if (checksum.length !== digest.length || !crypto.timingSafeEqual(digest, checksum)) {
return console.log(`Request body digest (${digest}) did not match X-Hub-Signature (${checksum})`);
}
甚至内容类型也是 application/json .. 那么请有人帮我解决这个问题吗?
得到了答案.. 需要 base64 而不是十六进制转换:)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.