将CryptoJS.SHA256()与hashlib.sha256()匹配以获取JSON

时间:2019-02-15 01:54:31

标签: javascript python json sha256 cryptojs

作为IEFT标准的一部分,我需要对JSON请求的主体进行哈希处理。

我在JS中有一个参考代码,已知该代码可以产生正确的哈希值,但是现在我不得不在Python中匹配结果。

JSON正文:

body = {"description":"Test ticket"}

JS代码:

bodyHash = CryptoJS.SHA256(body).toString(CryptoJS.enc.Base64)

请注意,它不是JSON.stringify(body)! “正确的”哈希(我要匹配的哈希):

TqXFCKZWbnYkBUP4/rBv1Fd3e+OVScQBZDav2mXSMw4=

Python解决方案应遵循以下原则:

body_hash = base64.b64encode(hashlib.sha256(repr(body).encode('utf-8')).digest()).decode('ascii')

哪个产生了不同的结果:

z0RpYmKAIfVibpSLJx/iRDZaNHJkJ2+rcenc1KEEAUw=

有没有办法匹配这些哈希?如何在CryptoJS中对JS对象进行哈希处理?

0 个答案:

没有答案