匹配加密js.SHA256()带哈希库.sha256()表示JSON

2024-10-17 08:26:46 发布

您现在位置:Python中文网/ 问答频道 /正文

作为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对象?你知道吗


Tags: 代码testjson标准jsbodydescriptionticket