from encrypt create python arduino md5

create - python sha1 encrypt



Arduino y Python MD5 (1)

Voy a suponer que estás usando la biblioteca MD5 desde aquí: https://github.com/tzikis/ArduinoMD5/

Parece que la biblioteca tiene un error. La MD5::make_hash() devuelve un puntero a la memoria en la pila. Parte de esa memoria debe estar siendo alterada antes de la llamada a make_digest() para que el resumen resultante sea parcialmente incorrecto.

Bueno, probé hash una cadena o al menos un conjunto de números en Python y lo comparo con el generado usando la biblioteca MD5 actualizada por Scott MacVicar en el Arduino pero los resultados que obtengo son diferentes.

Código Arduino:

#include <MD5.h> void setup() { //initialize serial Serial.begin(9600); //give it a second delay(1000); //generate the MD5 hash for our string unsigned char* hash=MD5::make_hash("hello"); //generate the digest (hex encoding) of our hash char *md5str = MD5::make_digest(hash, 16); //print it on our serial monitor Serial.println(md5str); }

Resultado: 5d41402abc4b2a76b9e4080020008c00

Código de Python:

from hashlib import md5 m = md5(''hello'').hexdigest() print m

Resultado: 5d41402abc4b2a76b9719d911017c592

Por lo que puedo ver en cada intento es que la diferencia viene en los últimos 14 caracteres. ¡Pero la longitud de los hashes generados es la misma!

¿¿Qué estoy haciendo mal?? Gracias

Editar:

Utilicé un comando de la terminal y obtuve:

echo -n ''hello'' | openssl md5

Resultado: 5d41402abc4b2a76b9719d911017c592

Lo que me hace pensar que la raíz del problema está en el código arduino