Hi RIOTers!
I’m trying the sha256 module on RIOT master and I just realised it returns always a different value… for now, I’m doing this:
sha256_init(&sha256);
sha256_update(&sha256, (uint8_t*)firmware_bin, firmware_size);
sha256_final(&sha256, metadata.hash);
To initialise and store the hash, according to the unittest which does very similar.
Am I doing something wrong?
Thanks in advance!
Cheers,
Hi Oleg! Thanks for your answer.
I should maybe give more hints.
I’m compiling sha256 without RIOT (and actually I removed #include “board.h”, I don’t know what’s the use there) and it compiles fine, but maybe it references something on RIOT internals?
firmware_bin it’s a binary file of a firmware, loaded using fopen. metadata.hash it’s a local variable, so it’s no related to firmware_bin.
Maybe this function is only intended for its use on RIOT?
My goal is to produce the same hash using a native application (without RIOT) and compare it at runtime by a RIOT application in a iotlab-m3 node. I suppose that using the same sha256 function on both sides increases interoperability, but it’s also true that a sha256 should be the same in all circumstances.
Thanks again for your help!
Cheers,
Paco.