NodeJS加密和jsSHA SHA-1的结果不同

时间:2016-05-17 14:38:17

标签: javascript node.js cryptography

我必须移植一些使用jsSHA到NodeJS的浏览器代码,我希望使用加密模块,但出于某种原因,这两段代码产生不同的结果,我相信它们应该是相同的:< / p>

let s1 = crypto.createHmac('sha1', '1234').update('4321').digest('base64');

var hmacObj = new jsSHA("SHA-1", "TEXT");
hmacObj.setHMACKey('1234', "B64")
hmacObj.update('4321')
let s2 = hmacObj.getHMAC("B64");

console.log(`${s1} <===> ${s2}`);
// EL8JVAKqxIzgv0ELy/9zDxzlKIc= <===> RvRFQNm8hvN+vwvp8zNxs/z6P2s=

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

这给出了与jsSHA代码相同的结果:

crypto.createHmac('sha1', new Buffer('1234', 'base64'))
      .update('4321')
      .digest('base64')