繁体   English   中英

HMAC sha1 签名与 x-hub-signature 标头不匹配

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM