Gliora

Hash SHA

Concepto de Desarrollo web en Utilidades, conectado con sus herramientas y conceptos vecinos.

Actualizado el 15 de julio de 2026

Herramienta Generador de hash Hash SHA-1, SHA-256, SHA-384 y SHA-512. Abrir calculadora →

Un hash SHA es el resultado de aplicar una función criptográfica de la familia SHA (Secure Hash Algorithm) a cualquier cantidad de datos. La función produce una cadena de longitud fija —256 bits en SHA-256, 512 bits en SHA-512— que actúa como huella digital del contenido: cualquier cambio, por mínimo que sea, produce un hash completamente diferente.

¿Cómo funciona un hash criptográfico?

Tres propiedades definen a los hash criptográficos:

  1. Determinista: el mismo input siempre produce el mismo output.
  2. Unidireccional: dado el hash, no se puede reconstruir el input original.
  3. Resistente a colisiones: es inviable encontrar dos inputs distintos que produzcan el mismo hash.

Ejemplo con SHA-256:

"Hola"      → a8a2f6e...b3c1  (64 caracteres hexadecimales)
"hola"      → b433938...f7a2  (completamente diferente)
"Hola "     → 9f86d08...1b4e  (un espacio cambia todo)

Algoritmos de la familia SHA

AlgoritmoLongitud del hashEstado
SHA-1160 bits (40 hex)Roto — no usar para seguridad
SHA-256256 bits (64 hex)Seguro — uso general
SHA-384384 bits (96 hex)Seguro — alta seguridad
SHA-512512 bits (128 hex)Seguro — máxima longitud
SHA-3-256256 bitsSeguro — algoritmo diferente (Keccak)

SHA-256 es el estándar para la mayoría de aplicaciones; SHA-512 tiene ventaja en arquitecturas de 64 bits donde es igual de rápido pero con mayor margen de seguridad.

Usos principales

Verificación de integridad: cuando descargas un archivo, el sitio publica su hash SHA-256. Calculas el hash del archivo descargado y comparas: si coincide, el archivo no ha sido alterado en el camino.

Firmas digitales y certificados TLS: los certificados HTTPS usan SHA-256 para firmar el contenido y garantizar que el servidor es quien dice ser.

Identificadores únicos en Git: cada commit, árbol y blob en Git tiene un SHA-1 (y SHA-256 en versiones recientes) como identificador. Cualquier cambio en el historial produce un hash diferente, lo que hace el historial inmutable en la práctica.

Blockchain: las cadenas de bloques encadenan bloques mediante hash SHA-256; cada bloque incluye el hash del anterior, haciendo que alterar un bloque invalide toda la cadena.

Hash en la terminal

# SHA-256 de un texto
echo -n "Hola mundo" | sha256sum
# b94d27b9934d3e08a52e52d7da7dabfac484efe04294e576a2f9d1d938ed0af5  -

# SHA-256 de un archivo
sha256sum archivo.zip
# 3b4c5d... archivo.zip

En macOS, el comando es shasum -a 256.

Por qué los hash solos no bastan para contraseñas

Los hash SHA son muy rápidos: una GPU moderna calcula miles de millones de hashes SHA-256 por segundo. Si almacenas contraseñas como SHA256(contraseña) sin más, un atacante con las hashes puede probar millones de contraseñas comunes en segundos.

La solución es añadir sal (un valor aleatorio único por usuario que se concatena antes de hashear) y usar un algoritmo lento como bcrypt o Argon2, que hacen cada cómputo caro aunque tengas mucha potencia. Para contraseñas seguras, el almacenamiento correcto es tan importante como la contraseña en sí.

Conceptos relacionados

También en Desarrollo web

Preguntas frecuentes

¿Se puede revertir un hash SHA para obtener el texto original?
No: los hash SHA son funciones unidireccionales. Dado el hash, es computacionalmente inviable recuperar el mensaje original. Eso es precisamente lo que los hace útiles para verificar integridad sin exponer el contenido.
¿Por qué no debo usar SHA-256 para almacenar contraseñas?
SHA-256 es muy rápido, lo que lo hace vulnerable a ataques de fuerza bruta y diccionario con GPUs. Para contraseñas, usa algoritmos lentos por diseño como bcrypt, Argon2 o PBKDF2, que hacen cada intento computacionalmente costoso.
¿Qué diferencia hay entre MD5, SHA-1 y SHA-256?
MD5 y SHA-1 están rotos criptográficamente: es posible generar colisiones deliberadas. SHA-256 y SHA-512 (familia SHA-2) siguen siendo seguros para la inmensa mayoría de usos. Para nuevos proyectos, usa siempre SHA-256 como mínimo.

Ver todas las herramientas de Utilidades.