Hash
¿Qué es?
Un hash es un algoritmo matemático que transforma cualquier volumen de datos de entrada en una cadena alfanumérica única y de longitud fija que actúa como una huella digital matemática.
¿Para qué sirve?
Garantiza la inmutabilidad de la información. Si un solo carácter de la entrada cambia, el hash resultante cambia por completo (efecto avalancha), delatando cualquier intento de manipulación.
Forma de uso — 3 propiedades fundamentales
Aparece de forma invisible en la verificación de seguridad de archivos informáticos, en el almacenamiento de contraseñas y en la conexión en cadena de los bloques de datos. Para ser útil en entornos digitales, una función hash debe cumplir 3 propiedades:
- Determinista: el mismo dato de entrada siempre produce exactamente el mismo hash de salida.
- Irreversible (efecto unidireccional): es matemáticamente inviable recrear los datos de entrada originales a partir del hash de salida.
- Resistencia a colisiones: es extremadamente difícil que dos entradas diferentes produzcan el mismo hash. Un pequeño cambio en la entrada (efecto avalancha) cambia el hash por completo.
Ejemplos resueltos
Ejemplo 1 — longitud fija sin importar el tamaño: comparemos cómo un algoritmo hash procesa dos textos de longitudes drásticamente distintas.
- Entrada corta: ingresamos la palabra "Hola" en SHA-256. El resultado es una cadena de 64 caracteres hexadecimales.
- Entrada larga: ingresamos un libro de 500 páginas en el mismo algoritmo. El resultado es otra cadena de exactamente 64 caracteres.
- Comparación: ambas salidas tienen el mismo tamaño — la propiedad de longitud fija no depende del tamaño de la entrada.
Ejemplo 2 — verificación de integridad de un archivo: cómo usar hashes para asegurar que un archivo de software no fue modificado por un tercero.
- Generación del hash original: el desarrollador publica el hash del archivo ejecutable, ej. "a1b2c3d4...".
- Descarga y alteración: un usuario descarga el archivo, pero un atacante modifica un solo bit del código.
- Cálculo del nuevo hash: el usuario calcula el hash del archivo descargado. Por el efecto avalancha, el nuevo hash es completamente distinto, ej. "z9y8x7w6...".
- Detección: al comparar ambos hashes, el usuario detecta instantáneamente la alteración y rechaza la instalación.
Esta serie tiene 2 lecciones extra sobre hash: colisiones en funciones hash → y el Árbol de Merkle →.
Al conectar múltiples registros de datos enlazados a través de sus funciones hash, creamos una cadena de bloques o Blockchain.
¿Quieres ir más a fondo?
En el curso completo profundizamos en cada bloque de la Serie Conceptos Clave, con más ejemplos y ejercicios.
Ver el curso — próximamente