我必须移植一些使用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=
感谢您的帮助。
答案 0 :(得分:1)
这给出了与jsSHA代码相同的结果:
crypto.createHmac('sha1', new Buffer('1234', 'base64'))
.update('4321')
.digest('base64')