作为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对象进行哈希处理?