[Interest] hmac sha256
Hamish Moffatt
hamish at risingsoftware.com
Tue Oct 16 00:10:56 CEST 2018
On 16/10/18 08:16, Jérôme Godbout wrote:
> Hi,
> I'm trying to find the C++ equivalent of this python:
> /import hashlib/
> /import hmac/
> /hmac.new(bytearray(m_api_secret, 'utf-8'), bytearray(payload,
> 'utf-8'), hashlib.sha256).hexdigest()/
> /
> /
> Or my Javascript equivalent (both give the same results):
> crypto.createHmac("sha256", m_api_secret).update(payload).digest("hex");
> /
> /
> I have try the following:
>
> * QMessageAuthenticationCode::hash(payload,
> QByteArray::fromHex(m_api_secret),
> QCryptographicHash::Sha256).toHex();
> * QMessageAuthenticationCode::hash(payload,
> QByteArray::fromHex(m_api_secret),
> QCryptographicHash::Sha3_256).toHex();
> * QMessageAuthenticationCode::hash(payload, m_api_secret,
> QCryptographicHash::Sha256).toHex();
> * QMessageAuthenticationCode::hash(payload, m_api_secret,
> QCryptographicHash::Sha3_256).toHex();
> * QMessageAuthenticationCode::hash(QByteArray::fromHex(payload),
> QByteArray::fromHex(m_api_secret),
> QCryptographicHash::Sha256).toHex();
> * QMessageAuthenticationCode::hash(QByteArray::fromHex(payload),
> QByteArray::fromHex(m_api_secret),
> QCryptographicHash::Sha3_256).toHex();
>
> But I never get the same results as the Python or Javascript one.
> Maybe I'm using the wrong class here. Anybody have a good pointer on
> how to do this?
> Any good hmac sha256 class to perform this?
In Python you encoded the key and payload as utf-8 before hashing, but
you didn't mention the encoding in C++.
What's in m_api_secret and payload? If they are hex strings then you
definitely need the fromHex.
Hamish
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20181015/42d2366d/attachment.html>
More information about the Interest
mailing list