gpt4 book ai didi

javascript - 等效于 Python 的内容十六进制编码的 CryptoJS SHA512 哈希值?

转载 作者:太空宇宙 更新时间:2023-11-03 21:16:44 27 4
gpt4 key购买 nike

我正在尝试进行经过身份验证的 API 调用。 JS 中的文档示例指出必须填充 contentHash header :

content = {currencySymbol:symbol};
var contentHash = CryptoJS.SHA512(JSON.stringify(content)).toString(CryptoJS.enc.Hex);

我正在用 Python 编写我的请求,但我不断收到 INVALID_CONTENT_HASH。这是我到目前为止所拥有的:

content = {"currencySymbol":"BTC"}
contentHash = hashlib.sha512(json.dumps(content, separators=(',',':')).encode('latin1')).hexdigest()

哈希值:18aa13a42b5efe3c45b37050626f23fcc4f3b4acf5e479f2f50212722cdcd80baa0ba6ddf8dcbd0f1b88008aaf9ec33874e4be9ab6ec2dece611c2dbdca87560

预期哈希值:e6e0b5e9941269e61fb41bd4f6a0dc5be0da1c011087a057ff88fe3de98f41c6681983dd14662c88b6293663d942c93511c3fd7f9cc5250e686b16de53 a18f57

我不知道我的请求有什么问题。请指教。

最佳答案

你的问题是json.dumps默认情况下应用一些小的 pretty-print ,但是 JSON.stringify才不是。

试试这个:

content = {'currencySymbol':'BTC'}
contentHash = hashlib.sha512(json.dumps(content, separators=(',',':')).encode('latin1')).hexdigest()

通过添加 separators=(',',':')json.dumps ,它将删除默认添加的额外空格

documentation对于 json.dumps

关于javascript - 等效于 Python 的内容十六进制编码的 CryptoJS SHA512 哈希值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54641474/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com