[Interest] hmac sha256

Jérôme Godbout godboutj at amotus.ca
Tue Oct 16 16:26:56 CEST 2018


Ah, sorry about that, I made a typo, the 3rd one is giving the proper
result when I don't make a mistake by copy/paste (I did swap the api_key
and api_secret when calling my function, d'oh).

This is indeed correct:
QMessageAuthenticationCode::hash(payload, m_api_secret,
QCryptographicHash::Sha256).toHex();

Thanks and sorry about that.

On Mon, 15 Oct 2018 at 18:11, Hamish Moffatt <hamish at risingsoftware.com>
wrote:

> 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
>
>
> _______________________________________________
> Interest mailing list
> Interest at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/interest
>


-- 



RAPPROCHEZ LA DISTANCE


*Jérôme Godbout*Senior Software Developer

*p:* +1 (418) 800-1073 ext.:109

*m:* +1 (581) 777-0050

amotus.ca <http://www.amotus-solutions.com/>
statum-iot.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20181016/6a1e5aaf/attachment.html>


More information about the Interest mailing list