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

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相同的,为什么输出的加密结果不同?

慕虎7371278
浏览 1750回答 1
1回答

阿波罗的战车

是一样的。 测试结果你确定使用的secretKey是相同的字符串吗?比如换行符、空格都会影响 我测试过nodeV0.12.0和nodeV8.11.1结果一致。 python为3.7
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python