【问题标题】:NodeJS crypto and jsSHA different results for SHA-1SHA-1 的 NodeJS 加密和 jsSHA 不同的结果
【发布时间】:2016-05-17 23:19:42
【问题描述】:

我必须将一些使用 jsSHA 的浏览器代码移植到 NodeJS,并且我希望使用加密模块,但是由于某种原因,这两条代码会产生不同的结果,而我认为它们应该是相同的:

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=

感谢您的帮助。

【问题讨论】:

  • 您告诉 jsSHA 密钥是 base64。你没有告诉 Node。

标签: javascript node.js cryptography


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2012-11-20
    • 2011-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-29
    • 2016-08-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多