Ir al contenido
UtiliaTools

¿Qué es una función hash? Entendiendo MD5, SHA y el hashing criptográfico

Una función hash es un algoritmo matemático que transforma cualquier entrada en una cadena de caracteres de longitud fija. Las funciones hash son unidireccionales por diseño — no se pueden invertir para recuperar los datos originales, lo que las hace fundamentales para la ciberseguridad moderna.

¿Qué es una función hash?

Una función hash toma una entrada de cualquier tamaño — un solo carácter, un párrafo o un archivo entero — y produce una salida de longitud fija llamada hash o resumen. Sin importar el tamaño de la entrada, la salida siempre tiene la misma longitud para un algoritmo dado. Por ejemplo, MD5 siempre produce 32 caracteres hexadecimales, mientras que SHA-256 siempre produce 64.

Propiedades clave de las funciones hash

Las buenas funciones hash criptográficas comparten estas propiedades esenciales:

  • Determinista: La misma entrada siempre produce el mismo hash.
  • Cálculo rápido: El hash se puede calcular rápidamente para cualquier tamaño de entrada.
  • Resistencia a la preimagen: Dado un hash, es computacionalmente inviable encontrar la entrada original.
  • Pequeños cambios, grandes diferencias: Cambiar incluso un bit de la entrada produce un hash completamente diferente (efecto avalancha).
  • Resistencia a colisiones: Es extremadamente difícil encontrar dos entradas diferentes que produzcan el mismo hash.

Algoritmos hash comunes

MD5

Desarrollado en 1991, MD5 produce un hash de 128 bits (32 caracteres hexadecimales). Fue ampliamente utilizado para verificación de archivos, pero hoy se considera roto para propósitos de seguridad — los investigadores pueden generar colisiones en segundos. Sigue siendo útil para sumas de verificación no seguras.

Familia SHA

La familia Secure Hash Algorithm, diseñada por la NSA:

  • SHA-1: Produce hashes de 160 bits. Obsoleto para seguridad desde 2017, cuando Google demostró un ataque de colisión práctico.
  • SHA-256: Parte de SHA-2, produce hashes de 256 bits. Actualmente el estándar para la mayoría de aplicaciones de seguridad, incluidos certificados SSL y blockchain.
  • SHA-384 y SHA-512: Variantes más largas de SHA-2 para requisitos de seguridad más altos.
  • SHA-3: Un algoritmo más nuevo con una estructura interna diferente, como respaldo si SHA-2 llegara a ser comprometido.

Otros algoritmos

  • bcrypt: Diseñado específicamente para hashing de contraseñas, con salt incorporado y factor de trabajo ajustable.
  • Argon2: El ganador moderno del Password Hashing Competition, resistente a ataques basados en GPU.

Aplicaciones en el mundo real

  • Almacenamiento de contraseñas: Los sitios web almacenan hashes de contraseñas, no texto plano. Cuando inicias sesión, tu contraseña se hashea y se compara con el hash almacenado.
  • Verificación de integridad de archivos: Los sitios de descarga publican valores hash para que puedas verificar que los archivos no fueron corrompidos ni manipulados.
  • Firmas digitales: Los hashes son un componente central de los algoritmos de firma digital usados en firma de código y verificación de documentos.
  • Blockchain: Cada bloque contiene el hash del bloque anterior, creando una cadena inmutable.
  • Deduplicación de datos: Los sistemas de almacenamiento usan hashes para identificar bloques de datos duplicados.

Preguntas frecuentes

¿Se puede invertir un hash para obtener los datos originales?

No. Las funciones hash están diseñadas para ser unidireccionales. Dado un hash, encontrar la entrada original es computacionalmente inviable para algoritmos fuertes como SHA-256. Esto se llama resistencia a la preimagen.

¿MD5 sigue siendo seguro?

No para propósitos de seguridad. Las colisiones MD5 se pueden generar en segundos con hardware moderno. Sigue siendo aceptable para sumas de verificación no seguras y deduplicación, pero nunca para contraseñas o firmas digitales.

¿Cuál es la diferencia entre hashing y cifrado?

El cifrado es bidireccional — los datos se pueden descifrar con la clave correcta. El hashing es unidireccional — los datos originales no se pueden recuperar del hash. El cifrado protege la confidencialidad; el hashing verifica la integridad.

Guías relacionadas

Probar la herramienta

Usa nuestra herramienta gratuita para empezar al instante.

Generador de Hash →

Última actualización el 2026-09-27