【发布时间】: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