node.js加密模块

时间:2015-08-09 21:58:36

标签: node.js cryptography node-crypto

我正在尝试创建一个HMAC,用于使用API​​进行身份验证。

但是,我遇到了标准节点加密的一些问题。

在身份验证部分下查看此example

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(算法,密钥)方法对我不起作用。

crypto.createHmac("sha256", '13916834993JJHlXeDcFM').digest('hex');

应该返回

1edcb16556338085d86656163314ded51d90f297d9c1a67d87d5b00b9fc44eb5

但是返回:

01440fc92c9f2e4923b98cbe0202359b6d2a88ec8b5d54d1690718112f671084

我正在尝试使用与上面列出的API相关的库来调试我在身份验证中收到的错误,但似乎遇到了一些错误,因为加密库使我无法获得更多错误有用的调查。

1 个答案:

答案 0 :(得分:1)

在API示例中,MD5 ( secret )是关键,nonce + client + key是您的数据。所以正确的语法是:

crypto.createHmac("sha256", '230664ae53cbe5a07c6c389910540729').update('13916834993JJHlXeDcFM').digest('hex');

输出:

cdbf5cc64c70e1485fcf976cdf367960c2b28cfc28080973ce677cebb6db9681