簡體   English   中英

等價的CryptoJS SHA512哈希哈希值是否為python編碼?

[英]Equivalent CryptoJS SHA512 hash of content Hex encoded for python?

我正在嘗試進行經過身份驗證的API調用。 JS中的文檔示例指出,必須使用以下內容填充contentHash標頭:

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

預期的哈希值:e6e0b5e9941269e61fb41bd4f6a0dc5be0da1c011087a057ff88fe3de98f41c6681983dd14662c88b6293663d942c93511c3fd7f9cc5250e686b16de53a18f57

我不知道我的要求出了什么問題。 請指教。

您的問題是json.dumps應用一些次要的漂亮打印,而JSON.stringify不會。

嘗試這個:

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

通過將separators=(',',':')json.dumps ,它將刪除默認情況下添加的多余空格

json.dumps 文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM