为了账号安全,请及时绑定邮箱和手机立即绑定

为什么js和python的sha256加密结果有不同?

为什么js和python的sha256加密结果有不同?

慕虎7371278 2019-02-19 04:59:36
sha256签名加密后输出base64编码:JS: const crypto = require('crypto'); var sign = crypto.createHmac('sha256',secretKey).update('1234567890').digest('base64'); return sign //输出gillOqwrSirL5cH4kiL7px1hSJ5tog/NfiY5J8T/Xq0= python: import hmac mac = hmac.new(bytes(secretKey, encoding='utf8'), bytes('1234567890', encoding='utf-8'), digestmod='sha256') d = mac.digest() return base64.b64encode(d)//输出9c1+B5qU/NXET8TuNIR0Yh92mIowEy20W44p7IHNpE= 同样是sha256加密,两个程序用来签名的secretKey相同的,为什么输出的加密结果不同?
查看完整描述

1 回答

?
阿波罗的战车

TA贡献1862条经验 获得超6个赞

是一样的。 测试结果
你确定使用的secretKey是相同的字符串吗?比如换行符、空格都会影响

我测试过nodeV0.12.0和nodeV8.11.1结果一致。 python为3.7

查看完整回答
反对 回复 2019-03-01
  • 1 回答
  • 0 关注
  • 1749 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信