Cómo generar un Hash SHA-256 en Linux

En esta entrada vamos a ver cómo generar un valor de longitud fija o hash, utilizando la tecnología de criptografía SHA-2, en concreto utilizando la variante SHA-256, desde nuestros sistemas GNU/Linux, utilizando la línea de comandos. Sí, es verdad, sé que hay muchas páginas webs que pueden hacer este trabajo por nosotros. Pero que queréis que os diga, a veces me gusta hacer las cosas por mi mismo y no tener que depender de terceros.

Para conseguir nuestro objetivo vamos a utilizar la herramienta sha256sum, que ya viene preinstalada en la mayoría de distribuciones.

En cualquier caso, la idea para este texto es que necesito generar estos hash para una entrada que estoy preparando, y como empiezo a tener una edad y mi memoria no es lo que era, directo que va a mis apuntes del día a día.

Generar un Hash SHA-256 desde la línea de comandos en Linux

Podemos utilizar la herramienta sha256sum de dos formas, binario y texto. La más habitual es la segunda. En cualquier caso, de ambas maneras vamos a obtener el mismo resultado.

Primero de todo vamos a guardar un valor en un archivo de texto:

echo "https://www.ochobitshacenunbyte.com"|tee valor.txt

Ahora generamos el hash:

sha256sum valor.txt
4f42e599076fd96a989f4bfed11ee584de9de59c3aa7aa15b8f7da9a51ef5854  valor.txt

La salida resultante consiste en:

  • La suma hash – los primeros 65 caracteres
  • Espacios
  • Un asterisco (solo en modo binario)
  • La ruta al archivo o simplemente el nombre del archivo

Si nos interesa también podemos generar el hash para un archivo en un directorio:

sha256sum /home/davidochobits/valor.txt|tee checksum
4f42e599076fd96a989f4bfed11ee584de9de59c3aa7aa15b8f7da9a51ef5854  /home/davidochobits/valor.txt

También podemos utilizar el hash almacenado en el archivo de suma de comprobación, para verificar la integridad del archivo valor.txt que hemos cifrado:

sha256sum --check checksum
/home/davidochobits/valor.txt: OK

En el caso de necesitar únicamente el hash del string, lo haríamos así:

echo -n https://www.ochobitshacenunbyte.com|sha256sum
#Con el resultado
6cc4c8f35c621cdfd52107acb1d59b440f34ff5b9d842329001fc4e41186ff44  -

Con esta información ya tenemos lo básico para poder generar un hash con SHA-256

Fuentes consultadas y para ampliar información:

Baeldung.com – Generating an SHA-256 Hash From the Command Line

Stackoverflow – Generating a SHA-256 hash from the Linux command line