Diferencia entre hash y cifrado
Tema: tecnología.
Un hash convierte cualquier dato en una cadena de longitud fija de forma irreversible, sin posibilidad de recuperar el dato original; el cifrado transforma un dato en otro ilegible, pero diseñado para poder revertirse con la clave correcta.
La diferencia es tajante y no admite matices: el hash nunca se «deshace»; el cifrado, con la clave adecuada, siempre puede deshacerse.
Tabla comparativa: hash y cifrado
| Hash | Cifrado | |
|---|---|---|
| Qué es | Función que convierte un dato en una huella de tamaño fijo. | Transformación de un dato en otro ilegible, con una clave. |
| Reversibilidad | Irreversible: no existe forma de recuperar el dato original. | Reversible: con la clave correcta se recupera el dato original. |
| Objetivo | Verificar integridad o comparar datos sin exponerlos. | Proteger la confidencialidad de un dato para quien no tiene la clave. |
| Necesita clave | No. | Sí, para cifrar y para descifrar. |
| Uso típico | Guardar contraseñas, comprobar que un archivo no se alteró. | Proteger mensajes, archivos o conexiones confidenciales. |
Qué es el hash
Una función hash toma un dato de cualquier tamaño —una palabra, un archivo entero— y produce siempre una cadena de longitud fija, llamada resumen o huella. Ese resultado es determinista: el mismo dato de entrada produce siempre el mismo hash, y el más mínimo cambio en la entrada, aunque sea una sola letra, cambia por completo el resultado.
Lo esencial del hash es que el proceso funciona en un único sentido: a partir del dato original se calcula su hash con facilidad, pero a partir del hash no existe ningún procedimiento que permita reconstruir el dato original. Por eso se usa para comparar o verificar información sin necesidad de guardar ni exponer el dato en sí: si dos archivos tienen el mismo hash, son idénticos; si una contraseña coincide con el hash guardado, es la contraseña correcta, sin que el sistema necesite conocerla ni almacenarla en texto legible.
Qué es el cifrado
El cifrado transforma un dato legible (el texto plano) en un dato ilegible (el texto cifrado), aplicando un algoritmo y una clave. A diferencia del hash, el cifrado está pensado para revertirse: quien tiene la clave correcta puede descifrar el resultado y recuperar exactamente el dato original, letra por letra.
Existen dos grandes formas de cifrado: el simétrico, en el que se usa la misma clave para cifrar y para descifrar, y el asimétrico, en el que se usa un par de claves distintas y relacionadas entre sí, una para cifrar y otra para descifrar. En ambos casos, la seguridad del sistema depende de que la clave se mantenga a salvo, no de que el algoritmo en sí sea secreto.
Ejemplos que muestran la diferencia
Un sitio web nunca guarda la contraseña tal cual, sino su hash, de modo que ni siquiera el propio servicio puede leer la contraseña original de sus usuarios.
Un mensaje cifrado con la clave correcta puede descifrarse y volver a leerse en su forma original; un hash, en cambio, nunca vuelve a convertirse en el dato del que partió.
Al descargar un archivo grande, se compara su hash con el que publica el sitio de origen para comprobar que no se ha corrompido ni modificado durante la descarga.
Cuándo usar cada término
- Usa hash cuando el objetivo es comprobar que un dato no ha cambiado o compararlo sin necesidad de leerlo, como al guardar contraseñas o verificar archivos.
- Usa cifrado cuando el objetivo es que alguien autorizado pueda recuperar el dato original más adelante, como al proteger un mensaje o un archivo confidencial.
- La pregunta que resuelve la duda en la práctica es simple: si en algún momento hace falta recuperar el dato original a partir del resultado, se necesita cifrado, no hash.
Preguntas frecuentes
¿Se puede deshacer un hash para obtener el dato original?
No. Un hash bien diseñado es un proceso de un solo sentido: se puede calcular con facilidad a partir del dato, pero no existe ningún procedimiento para reconstruir el dato a partir del hash. Es una diferencia de diseño, no una cuestión de dificultad técnica que se pueda superar con más recursos.
¿Por qué las contraseñas se guardan como hash y no cifradas?
Porque el sistema nunca necesita volver a ver la contraseña original: solo necesita comprobar si la que escribe el usuario coincide con la guardada. Usar hash evita que exista, en ningún lugar del sistema, una versión legible de esa contraseña.
¿Qué tienen en común el hash y el cifrado?
Ambos transforman un dato en otra representación mediante un algoritmo, y ambos se usan en seguridad informática. La diferencia está en el objetivo y en la reversibilidad: el cifrado busca ocultar temporalmente un dato que se recuperará después; el hash busca verificar o comparar sin ninguna intención de recuperarlo.