[Interest] hmac sha256
Henry Skoglund
fromqt at tungware.se
Mon Oct 15 23:50:15 CEST 2018
On 2018-10-15 23: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?
>
Hi, the QMessageAuthenticationCode class should work fine, and your #3
attempt should be correct.
Just tested with key = "my secret key" and payload "my message":
Python3.6.6 on Ubuntu:
>>> hmac.new(bytearray('my secret key', 'utf-8'), bytearray('my
message', 'utf-8'), hashlib.sha256).hexdigest()
'8cb6f28c5bd8e02fef83fdb7cc00b2116f5aefd868c3c4bed4db3b99b0450372'
Qt 5.11.2 on Win7:
qDebug() << QMessageAuthenticationCode::hash("my message","my
secret key", QCryptographicHash::Sha256).toHex();
23:43:52: Starting
C:\Projects\build-untitled-Desktop_Qt_5_11_2_MSVC2015_32bit-Release\release\untitled...
"8cb6f28c5bd8e02fef83fdb7cc00b2116f5aefd868c3c4bed4db3b99b0450372"
Rgrds Henry
More information about the Interest
mailing list