【发布时间】:2020-04-09 19:32:16
【问题描述】:
我正在尝试验证 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.. 那么请有人帮我解决这个问题吗?
【问题讨论】:
标签: javascript node.js hmac hmacsha1