从Node.js到Python 3.6结果的hmac 512迁移不匹配

问题描述 投票:3回答:1

现在,我正在开发从Node.js到Python 3.6的hmac 512迁移。两个代码产生不同的结果。 Node.js结果正确。目标是产生Python 3.6代码。我该在哪里解决该问题?

((1)Node.js

var crypto = require('crypto');

var data = {
    'request' : '/api/v1/account/balances',
    'nonce'   : 1589963590749
 };

secret = "SECRET";
data = JSON.stringify(data);
payload = Buffer.from(data).toString('base64');

signature = crypto.createHmac('sha512', secret).update(payload).digest('hex');
console.log(signature);

“” 94e40c0ad3d14746e7a15c31d3b4f8e4060d4cec81cbc529bce2ae02a45bf2b0b8ed3ad0a7842b6b3d26fe9bec045a3cedc8b546bb1c4a921416f03ed98815fb“]

((2)Python3.6

import hmac, hashlib, json, base64

data = {
    'request': '/api/v1/account/balances',
    'nonce'  : 1589963590749
}

secret = "SECRET"
data = json.dumps(data)
payload = base64.b64encode(data.encode())
secret = secret.encode()
signature = hmac.new(secret, payload, hashlib.sha512).hexdigest()
print(signature)

“ 9aaa9f01dd2ab21bfc46bb1e369748afc5f638fa157578078472219b9bc615f4796d7a9502efcf7c4fdc5208a52470c5b850257d0c36050c9b2650d277fa8f8c”]

现在,我正在开发从Node.js到Python 3.6的hmac 512迁移。两个代码产生不同的结果。 Node.js结果正确。目标是产生Python 3.6代码。我应该在哪里做某事...

node.js python-3.x hmac sha512
1个回答
0
投票

您可以逐步找到问题:

© www.soinside.com 2019 - 2024. All rights reserved.