Skip to content

Glossary

SHA-256

El estándar moderno de función hash

By Published Updated

SHA-256 es una función hash criptográfica publicada por el Instituto Nacional de Estándares y Tecnología (NIST) de EE. UU. en 2001 como parte de la familia SHA-2 (FIPS PUB 180-4). Toma cualquier entrada de longitud y produce una salida de longitud fija de 256 bits (32 bytes, 64 caracteres hexadecimales).

La función es determinista (la misma entrada siempre produce la misma salida), unidireccional (computacionalmente inviable derivar la entrada a partir de la salida) y resistente a colisiones (computacionalmente inviable encontrar dos entradas diferentes que produzcan la misma salida). A partir de 2026 no se ha demostrado ningún ataque práctico a la resistencia de colisión de SHA-256.

Dónde aparece SHA-256: firmas de certificados TLS, firmas JWT (HS256, RS256, ES256 — el 256 es SHA-256), hashes de bloques de Bitcoin (aplicado dos veces), autenticación de mensajes HMAC-SHA256, el próximo formato de objetos SHA-256 de Git, y prácticamente toda la pila moderna de verificación de integridad.

Calcula hashes SHA-256 con nuestro generador de hash, que usa la API Web Crypto del navegador (crypto.subtle.digest) internamente.

Para qué no está diseñado SHA-256 — y el error de contraseñas: SHA-256 es rápido por diseño. Una GPU moderna calcula miles de millones de hashes SHA-256 por segundo, lo que es excelente para verificar la integridad de archivos pero desastroso para hacer hash de contraseñas. Un atacante que roba una base de datos de hashes de contraseñas SHA-256 simples puede recuperar la mayoría de las contraseñas débiles en horas por fuerza bruta. El hashing de contraseñas requiere una función deliberadamente lenta con una sal por usuario — bcrypt, scrypt, Argon2 — que ajusta el factor de costo para que cada hash tome ~100 ms en lugar de ~100 ns. Almacenar contraseñas de usuario como SHA256(contraseña) simple es uno de los errores más consistentemente explotados en las divulgaciones de brechas. Si no recuerdas nada más: SHA-256 para integridad, Argon2id para contraseñas.

SHA-256 doble, extensión de longitud y la corrección HMAC: SHA-256 hereda la construcción Merkle-Damgård usada por SHA-1 y MD5, lo que significa que es vulnerable a ataques de extensión de longitud — dado H(secreto || mensaje) un atacante puede calcular H(secreto || mensaje || relleno || extra) sin conocer el secreto. Esta es la razón por la que las APIs ingenuos de “firmar el cuerpo con SHA256(clave + cuerpo)” de principios de 2010 han sido reemplazadas por HMAC-SHA256, que envuelve la construcción con dos hashes con clave y no es extensible por longitud. El “SHA-256 doble” de Bitcoin (SHA256(SHA256(x))) es una mitigación diferente contra la misma familia de ataques y no está relacionado con HMAC. Relacionado: JWS, firma, SHA-256 vs MD5. Referencia: NIST FIPS 180-4 — Secure Hash Standard.

Ejemplo práctico

El hash SHA-256 de la cadena vacía es la constante bien conocida e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855. El hash del byte único "a" es ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb. Cambia un bit — digamos a "b" — y el hash se convierte en 3e23e8160039594a33894f6564e1b1348bbd7a0088d42c4acb73eeaed59c009d, sin relación aparente con la salida anterior. Esta es la propiedad de “avalancha” en acción: cada bit de entrada afecta aproximadamente la mitad de los bits de salida. Para verificar una descarga de 1 GB, comparas su SHA-256 (una cadena hexadecimal de 64 caracteres que el proveedor publica) contra el que calculas localmente. Si coinciden, el archivo es bit a bit idéntico con una probabilidad indistinguible de la certeza (la probabilidad de una colisión es 2⁻¹²⁸, menor que elegir el mismo átomo del universo observable al azar).

Cuándo y por qué importa

SHA-256 es la primitiva de integridad para casi todo en lo que confías en la internet moderna. Las cadenas de certificados TLS están firmadas con RSA/ECDSA sobre resúmenes SHA-256; los JWTs usan HMAC-SHA256 por defecto; los resúmenes de imágenes de Docker, los próximos IDs de objetos de Git, la firma de código de Apple, y toda la cadena de bloques de Bitcoin se procesan mediante SHA-256. Tres modos de fallo valen la pena conocer: sustituir SHA-1 o MD5 (ambos rotos para la resistencia a colisiones — las colisiones de SHA-1 fueron demostradas en 2017), usar SHA-256 directamente para contraseñas en lugar de Argon2id (ver arriba), y confiar en SHA-256 truncado por debajo de 128 bits como resistente a colisiones (el límite de cumpleaños en un prefijo de 96 bits es solo 2⁴⁸ — al alcance de un atacante determinado). Referencia: NIST CSRC — Funciones hash.

Prueba la calculadora

Calcula un resumen SHA-256 (o SHA-1, MD5) para cualquier texto de entrada localmente en tu navegador.

Abrir la herramienta de hash →

Frequently asked questions

¿Qué es SHA-256?
SHA-256 es una función hash criptográfica de la familia SHA-2 que produce un resumen fijo de 256 bits (32 bytes) a partir de cualquier entrada. Es determinista, unidireccional (resistente a preimagen) y resistente a colisiones: cambiar un solo bit en la entrada cambia completamente la salida.
¿Cómo se usa SHA-256 en la práctica?
SHA-256 se usa para verificar la integridad de archivos (los gestores de paquetes comparan hashes de descarga), en huellas digitales de certificados TLS, como la función de prueba de trabajo en la minería de Bitcoin, y dentro de HMAC para la firma de solicitudes de API. Git usa una variante de SHA-256 para identificar confirmaciones y blobs.
¿Cuál es la diferencia entre SHA-256 y MD5?
MD5 produce un resumen de 128 bits y está criptográficamente roto — las colisiones se pueden generar en segundos en hardware común. SHA-256 produce un resumen de 256 bits, no tiene ataques de colisión prácticos conocidos, y es el estándar recomendado actualmente para la verificación de integridad y las firmas digitales.

Related

Published May 14, 2026 · Last reviewed May 31, 2026