【发布时间】:2017-08-09 14:51:29
【问题描述】:
我正在使用https://www.npmjs.com/package/paybox,我需要升级我的节点版本(从 5.6 到 6+)
如下所示,generateHMAC 创建的哈希值在我更改节点版本时会有所不同。
你能帮我理解这一点,并告诉我它是否会破坏某些东西(也许可以吗?几个哈希值可以吗?)
这是我的代码 sn-p:
"use strict";
const paybox = require('./node_modules/paybox/lib/paybox.js')
let computed_hmac = paybox.generateHMAC({a:12}, 'aaaaaaabbbbbbbcccccccc1111122233');
console.log(computed_hmac);
这是节点 5.6.0 版本的结果
$ node -v
v5.6.0
$ node testPaybox.sh
D0643202B4AF2A23055933597ACB6CB024A26F7DEBC4798B5AB0AC6242D1C9D0F1BC481B86CEF0505546D1D30F4A6807D193A00E5A4E81F874447BC0EE040D87
以及从 6.11.1 开始的任何版本(直到最新)
$ node -v
v6.11.1
orange:easy-sport-web dao$ node testPaybox.sh
E5A70879F038F35103524AB5157205C8169DDBAD3B41465D19690F87C64FACB6E098C283812B6D6AC79F23AE7A7DC2B0EEEDF5796E4BFC9DE87A517AFCE7E049
【问题讨论】:
-
原因:stackoverflow.com/a/37445613/1816580,你可能需要 fork 和调整它。
-
看来不是这个问题。我已将其简化为关键编码问题。我在这里创建了一个新帖子:stackoverflow.com/q/45533172/1566975?sem=2 你能看看@ArtjomB.吗?
-
请再次阅读该答案。看来你还没明白区别在哪里。
-
@ArtjomB。我已经尝试过了,它似乎与它无关。我添加了编码,结果完全相同:将
.update("hey")更改为.update("hey", 'utf-8')以指定编码请参阅我在问题stackoverflow.com/q/45533172/1566975?sem=2 中的评论 -
@ArtjomB。坚持stackoverflow.com/a/37445613/1816580我已经在stackoverflow.com/q/45533172/1566975?sem=2中的
update调用中添加了编码,结果是一样的
标签: node.js hash hmac node-crypto