来自 nodejs 加密的 SHA256 不正确
Posted
技术标签:
【中文标题】来自 nodejs 加密的 SHA256 不正确【英文标题】:Incorrect SHA256 from nodejs crypto 【发布时间】:2020-07-10 18:04:01 【问题描述】:const crypto = require('crypto');
hm = crypto.createHmac("sha256","Some String");
console.log(hm.digest("base64"));
运行它给了我:
Nd6Q8epsIBG+c/jN6TdnfRNbFWCcB7bI0DYkfyDqf+8=
(repl)
但是在https://approsto.com/sha-generator/ 计算 sha256 给了我:
fw/WRlO6C7Glec7Str83XpFsxgZiEJ7gwLJPCnUMOmw
为什么会有差异?
【问题讨论】:
【参考方案1】:使用Hash
代替Hmac
。
const crypto = require('crypto');
hash = crypto.createHash("sha256");
hash.update("Some String");
console.log(hash.digest("base64"));
结果:
fw/WRlO6C7Glec7Str83XpFsxgZiEJ7gwLJPCnUMOmw=
另见:
What is the difference between a HMAC and a hash of data?【讨论】:
以上是关于来自 nodejs 加密的 SHA256 不正确的主要内容,如果未能解决你的问题,请参考以下文章
关于腾讯云短信接口的sig字段,sha256加密问题,nodejs