【问题标题】:HMAC sha1 signature mismatch with x-hub-signature headersHMAC sha1 签名与 x-hub-signature 标头不匹配
【发布时间】: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


    【解决方案1】:

    得到答案.. 需要base64而不是十六进制转换:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-22
      • 2013-06-17
      • 2011-10-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多