This article has been translated from English to Spanish.
¿Cuál es el propósito del hashing?
El objetivo principal del hash es verificar la integridad de un dato.
Dado que el hash generado es ÚNICO para los datos de entrada, actúa comouna «huella dactilar»única de los datos de entrada.
Esto hace que el hash sea útil para verificar la integridad de los datos enviados a través de canales de comunicación inseguros como Internet. La integridad de los datos significa simplemente que los datos no han sido alterados de forma no autorizada.
El valor hash de los datos recibidos puede compararse con el valor hash de los datos antes de ser enviados para determinar si los datos fueron alterados.
Si publico tanto el mensaje como el valor hash que generé a partir de él, puedes generar un valor hash a partir del mensaje que recibiste y comparar los valores hash.
Usando un ejemplo muy simple, digamos que estamos a punto de encontrarnos para almorzar, y justo antes de salir por la puerta, recuerdo nuestra última vez juntos...

Aunque tu personalidad era muy agradable, tu olor no lo era en absoluto. 😬
Así que quiero enviarte un mensaje:«Por favor, ponte desodorante».
Pero antes de enviarlo, lo paso por una función hash (SHA-256). El hash es:
33ebb528eab107766343d0ac591952bb68ee959d45b7a8b399628e662f3bc1ef
Primero te envío este hash.*
A CONTINUACIÓN te envío el mensaje de texto real.
Cuando recibes mi mensaje, piensas: «¿Qué cojones? ¿De verdad me acaba de decir eso? ¿O el mensaje fue interceptado durante el tránsito y el mensaje original fue alterado?».

Así que ejecutas el mensaje a través de la misma función hash.
33ebb528eab107766343d0ac591952bb68ee959d45b7a8b399628e662f3bc1ef
A continuación, compara tu hash con el hash que vino antes del mensaje de texto.
Si ambos valores hash son iguales, entonces esto prueba que:
- El mensaje se envió correctamente.
- ¡Que tus axilas realmente apestan!
- El mensaje no ha sido alterado deliberadamente por alguien entre que te lo envié y que lo recibieras.
Por supuesto, en el mundo real, son nuestros ordenadores los que hacen todo esto por nosotros.
Y con suerte, mantendrás tus axilas con olor fresco. 😅
*Técnicamente, antes de que te envíe el hash, debería estar protegido de alguna manera, pero quería que el ejemplo fuera sencillo. Cómo se protege el hash durante el tránsito se tratará en una lección posterior.
Ejemplo real de hash: contraseñas en línea
Esto puede que te sorprenda, pero probablemente te encuentres con el hash en tu vida diaria... cada vez que inicias sesión para revisar tu correo electrónico. 📧

Cuando creas una dirección de correo electrónico y una contraseña, es probable que tu proveedor de correo electrónico no guarde tu contraseña real.
En su lugar, tu proveedor de correo electrónico ejecuta la contraseña a través de una función hash y guarda el hash de tu contraseña.
Cada vez que intentas iniciar sesión en tu cuenta de correo electrónico, tu proveedor de correo electrónico aplica un hash a la contraseña que TÚ introduces y compara este hash con el hash que ha guardado.
Solo cuando los dos hash coinciden, estás autorizado a acceder a tu correo electrónico.
Veamos por qué NO guardan tu contraseña real...
Si se almacenan las contraseñas reales y los hackers acceden a su sistema, pueden robarlas. ¡Esto definitivamente no es bueno para los usuarios que utilizan la misma contraseña para varios sitios web!
Una solución es hacer un hash de la contraseña...
Al cifrar una contraseña, la empresa protege la información del usuario. Incluso si un hacker irrumpe en el sistema, no tendrá acceso a las contraseñas reales, solo a los cifrados.
Recuerda que los hash son irreversibles, por lo que es imposible que el hacker averigüe cuál es la contraseña real con solo mirar el hash. El hash garantiza que los datos se almacenen en un estado codificado, por lo que es más difícil robarlos.

Cada vez que inicias sesión, tu proveedor de correo electrónico no almacena la contraseña en texto plano, solo necesita el hash.
Cuando introduces tu contraseña, se ejecuta a través de la función hash.
El resultado se compara con el hash que se guarda en la base de datos.
Si los valores hash son los mismos, la contraseña es correcta.
Si se introduce una contraseña incorrecta, se generará un hash diferente al guardado. Los hashes NO coincidirán, por lo que tu intento de inicio de sesión FALLARÁ.
Como puedes ver, una función hash distorsiona los datos y los hace ilegibles. Incluso si un hacker accede al servidor de tu proveedor de correo electrónico, los datos almacenados no se pueden descifrar.


