我正在尝试创建一个 HMAC 用于使用 API 进行身份验证。
但是,我遇到了标准节点加密的一些问题。
查看“身份验证”部分下的此示例:
HMAC_SHA256 ( 13916834993JJHlXeDcFM , 230664ae53cbe5a07c6c389910540729 )
散列这两个值应该给我一个返回值:cdbf5cc64c70e1485fcf976cdf367960c2b28cfc28080973ce677cebb6db9681
但是,当我使用加密库时,我似乎无法复制它:
crypto.createHash('sha256').update('13916834993JJHlXeDcFM').update('230664ae53cbe5a07c6c389910540729').digest("hex")
返回
798134a33b4f8af61c85c07b692f907607b03a7b7298faff1f05ec6712006f9c
和
crypto.createHmac("sha256", '13916834993JJHlXeDcFM').update('230664ae53cbe5a07c6c389910540729').digest('hex');
返回
3a67e4899e1eae579b3191fdde04a19086cf50f71ee497274e23e413b52a0d00
此外,它们都不同的事实也是一个问题。出于某种原因, createHmac(algorithm, key) 方法对我不起作用。
crypto.createHmac("sha256", '13916834993JJHlXeDcFM').digest('hex');
应该返回
1edcb16556338085d86656163314ded51d90f297d9c1a67d87d5b00b9fc44eb5
但改为返回:
01440fc92c9f2e4923b98cbe0202359b6d2a88ec8b5d54d1690718112f671084
我正在尝试使用与上面列出的 API 相关的库来调试我在身份验证中收到的错误,但似乎在加密库中遇到了一些错误,这使我无法完成很多有用的调查。