Estoy tratando de obtener el hash md5 de una cadena. Dicha cadena consta solo de letras mayúsculas y minúsculas y dígitos. No hay otros personajes, incluidos espacios y líneas nuevas. La cadena se ingresa a través de un teclado, en lugar de una entrada de archivo, por lo que no hay BOM u otras banderas presentes.
Si ejecuto localmente md5sum
, obtengo el siguiente resultado:
ubuntu@ubuntu:~$ echo word | md5sum
a46ec67a0f2e7c387926ac5d783ea4b8 -
ubuntu@ubuntu:~$ echo "word" | md5sum
a46ec67a0f2e7c387926ac5d783ea4b8 -
ubuntu@ubuntu:~$ echo "word" -n | md5sum
3a21ca21563e9535a9012daef61a0bdf -
Sé que la diferencia entre las salidas 2 y 3 anteriores se debe a la ausencia del carácter de nueva línea ( . (¡Resulta que no lo fue! Vea la respuesta aceptada).-n
). Esta parte es clara para mi
Sin embargo, hay herramientas que dan un tercer resultado. Todas las herramientas que no son CLI parecen dar el mismo resultado, y eso es lo que me confunde:
- http://www.miraclesalad.com/webtools/md5.php dice que es
c47d187067c6cf953245f128b5fde62a
. - http://www.md5hashgenerator.com/ dice que es
c47d187067c6cf953245f128b5fde62a
. - http://www.md5.cz/ dice que es
c47d187067c6cf953245f128b5fde62a
. - http://www.md5online.org/md5-encrypt.html dice que sí
c47d187067c6cf953245f128b5fde62a
. - http://md5-hash-online.waraxe.us/ dice que es
c47d187067c6cf953245f128b5fde62a
. - Esta aplicación de Android dice que es
c47d187067c6cf953245f128b5fde62a
. echo -n "word" | unix2dos | md5sum
me dac47d187067c6cf953245f128b5fde62a
.
¿Que está pasando aqui?
echo "word" -n
. ¡Bastante claro por qué está fallando cuando ves eso!