
Cuando se produce una brecha en una base de datos, la primera pregunta siempre es la misma: ¿están seguras las contraseñas hasheadas? La respuesta depende completamente de cómo se generaron esos hashes. SHA-256 en sí no se puede descifrar — es una función hash criptográfica unidireccional, no un algoritmo de cifrado. Pero «no se puede descifrar» no es lo mismo que «no se puede crackear».
Qué es SHA-256
SHA-256 (Secure Hash Algorithm de 256 bits) es una función hash criptográfica de la familia SHA-2, desarrollada por la NSA y publicada por el NIST en 2001 bajo FIPS 180-4. Toma una entrada de cualquier longitud y produce una salida fija de 256 bits (32 bytes) — el hash, o resumen. La salida siempre parece aleatoria, y la misma entrada siempre produce la misma salida.
SHA-256 no es un algoritmo de cifrado. No tiene clave, y su salida no puede revertirse. Su función es producir una huella digital única de un dato — no proteger ese dato para su recuperación posterior.
Tres propiedades definen su seguridad:
- Resistencia a la preimagen. Dado un hash, no se puede encontrar la entrada original.
- Resistencia a colisiones. No se pueden encontrar dos entradas diferentes que produzcan el mismo hash.
- Efecto avalancha. Un cambio de un solo bit en la entrada modifica aproximadamente la mitad de los bits de salida, haciendo el resultado completamente impredecible.
SHA-256 se utiliza en certificados TLS, firma de código, integridad de commits en Git, el mecanismo de prueba de trabajo de Bitcoin y (cuando se combina con una derivación de claves adecuada) almacenamiento de contraseñas. Es una de las primitivas criptográficas más ampliamente desplegadas en sistemas de producción actualmente.
Hash vs. cifrado: Por qué SHA-256 no se puede descifrar
SHA-256 es una función hash criptográfica — una transformación unidireccional. El cifrado es una operación bidireccional: se cifran datos con una clave y se descifran con una clave. El hashing no tiene clave ni camino de retorno. Dado un resumen SHA-256, no existe ninguna operación matemática que recupere la entrada original.
La propiedad que hace esto posible se llama resistencia a la preimagen: debe ser computacionalmente inviable encontrar cualquier entrada m tal que SHA256(m) = h para un hash dado h. Una propiedad relacionada, el efecto avalancha, significa que cambiar un solo bit en la entrada modifica aproximadamente la mitad de los bits de salida — haciendo imposible «trabajar hacia atrás» mediante pequeños ajustes.
| Propiedad | Hashing (SHA-256) | Cifrado (AES / RSA) |
|---|---|---|
| Dirección | Unidireccional | Bidireccional |
| Requiere clave | No | Sí |
| Reversible | No | Sí (con clave) |
| Tamaño de salida | Fijo (256 bits) | Variable |
| Uso principal | Verificación de integridad, almacenamiento de contraseñas | Confidencialidad |
La distinción es importante en la práctica. Si un desarrollador almacena contraseñas usando cifrado AES en lugar de hashing, una brecha de la clave de cifrado expone todas las contraseñas de la base de datos. Un hash no tiene clave que robar.
Cómo funciona el algoritmo SHA-256 (paso a paso)
SHA-256 está definido en NIST FIPS 180-4 y pertenece a la familia SHA-2. Procesa entradas de cualquier longitud y produce una salida determinista de 256 bits. La estructura central es la construcción Merkle-Damgård: el mensaje se divide en bloques de tamaño fijo, cada bloque se procesa a través de una función de compresión, y las salidas se encadenan.
Paso 1. Preprocesamiento y relleno
El mensaje de entrada se rellena para que su longitud total sea múltiplo de 512 bits. El relleno siempre comienza con un bit 1, seguido de suficientes bits 0, seguidos de una representación de 64 bits de la longitud del mensaje original. Este paso es obligatorio incluso si el mensaje ya encaja perfectamente — el algoritmo siempre debe saber dónde termina el mensaje.
Paso 2. Programación del mensaje
El mensaje rellenado se divide en bloques de 512 bits. Cada bloque se divide en dieciséis palabras de 32 bits. Esas dieciséis palabras se expanden luego en una programación de mensajes de 64 palabras usando una combinación de rotaciones a nivel de bits y operaciones XOR. Esta expansión asegura que cada bit de la entrada original influya en el paso de compresión.
Paso 3. La función de compresión
Aquí es donde ocurre el trabajo. SHA-256 mantiene ocho variables de trabajo de 32 bits (a hasta h), inicializadas con constantes derivadas de las partes fraccionarias de las raíces cuadradas de los primeros ocho números primos. A lo largo de 64 rondas, estas variables se actualizan usando operaciones AND, OR, XOR y NOT a nivel de bits, más suma modular. Dos funciones no lineales — Ch(e, f, g) y Maj(a, b, c) — introducen complejidad que hace opaca la relación entre entrada y salida. Después de las 64 rondas, las variables de trabajo se suman de nuevo a los valores iniciales de ese bloque.
Paso 4. Salida final
Después de procesar todos los bloques, las ocho variables de trabajo se concatenan para producir el resumen final de 256 bits. La misma entrada siempre produce la misma salida. Cualquier cambio en la entrada — incluso un solo carácter — produce un hash completamente diferente.
Si SHA-256 no se puede descifrar, ¿cómo lo crackean los hackers?
SHA-256 es matemáticamente sólido. El algoritmo en sí no tiene debilidades prácticas conocidas después de más de dos décadas de criptoanálisis. Lo que falla no es el algoritmo — es la forma en que se almacenan las contraseñas usándolo.
Ataques de fuerza bruta
Un ataque de fuerza bruta no revierte el hash. Adivina. El atacante hashea contraseñas candidatas (palabras de diccionario, patrones comunes, combinaciones de caracteres) y compara la salida con el hash robado. Si los hashes coinciden, la contraseña está encontrada. La velocidad de SHA-256 es el problema aquí: una sola GPU Nvidia RTX 4090 puede calcular aproximadamente 164 mil millones de hashes SHA-256 por segundo (Specops Software, 2025). A ese ritmo, una contraseña de ocho caracteres en minúsculas se crackea en segundos.
Ataques de tablas rainbow
Una tabla rainbow es una base de datos precalculada de mapeos hash-a-texto-plano. En lugar de hashear sobre la marcha, el atacante busca el hash robado en la tabla y lee la contraseña original. Las tablas para formatos de contraseña comunes pueden generarse con anticipación y reutilizarse en múltiples brechas. La resistencia a colisiones — la propiedad de que ninguna entrada debería producir el mismo hash — no es lo que explotan las tablas rainbow. Explotan el hecho de que las contraseñas comunes producen hashes predecibles y repetibles.
Ambos ataques comparten un único prerrequisito: el hash debe estar sin sal. Añada una sal, y ambos ataques se vuelven dramáticamente más costosos.
Por qué SHA-256 simple es malo para el almacenamiento de contraseñas
SHA-256 fue diseñado para ser rápido. Para sus usos previstos — verificar integridad de archivos, firmar certificados, asegurar transacciones blockchain — la velocidad es una característica. Para el almacenamiento de contraseñas, la velocidad es una vulnerabilidad.
El problema: SHA-256 es demasiado rápido
A 164 mil millones de hashes por segundo en hardware de consumo, un atacante puede agotar todo el espacio de contraseñas de ocho caracteres que contienen mayúsculas, minúsculas, dígitos y símbolos en menos de una hora. La guía de almacenamiento de contraseñas de OWASP es explícita: «Los algoritmos de hash rápidos como SHA-256 no son adecuados para el almacenamiento de contraseñas porque permiten a los atacantes realizar grandes cantidades de intentos rápidamente».
Solución 1: Salting
Una sal es una cadena única generada aleatoriamente que se añade a cada contraseña antes del hashing. SHA256("password") siempre produce el mismo hash. SHA256("password" + "x7kQ2mNp") produce uno completamente diferente — y cada usuario obtiene una sal diferente. Esto anula completamente las tablas rainbow: el atacante no puede precalcular hashes para entradas con sal sin conocer la sal de cada usuario. También significa que dos usuarios con la misma contraseña terminan con hashes diferentes en la base de datos.
Solución 2: Estiramiento de claves con PBKDF2
El salting anula las búsquedas precalculadas, pero no ralentiza los ataques de fuerza bruta. Eso requiere estiramiento de claves. PBKDF2 (Password-Based Key Derivation Function 2) aplica una función pseudoaleatoria — típicamente HMAC-SHA-256 — miles de veces en secuencia. Cada iteración toma tiempo. Los 164 mil millones de hashes por segundo del atacante se reducen a una fracción cuando cada «intento» requiere 600.000 iteraciones.
OWASP recomienda PBKDF2 con HMAC-SHA-256 y al menos 600.000 iteraciones para cumplimiento FIPS-140. Argon2id es la opción preferida donde no se requiere cumplimiento FIPS, ya que también añade resistencia de memoria.
SHA-256 simple vs. PBKDF2-HMAC-SHA256: Comparación de seguridad en almacenamiento de contraseñas
| Propiedad | SHA-256 simple | PBKDF2-HMAC-SHA256 (600.000 iteraciones) |
|---|---|---|
| Hashes por segundo (RTX 4090) | ~164.000.000.000 | ~273 |
| Tiempo para crackear contraseña de 8 caracteres (todos ASCII imprimibles) | < 1 hora | > 200 años |
| Anula tablas rainbow | No (sin sal) | Sí (sal única por usuario) |
| Anula fuerza bruta | No | Sí (computacionalmente inviable) |
| Compatible con FIPS-140 para almacenamiento de contraseñas | No | Sí |
| Recomendado por OWASP | No | Sí |
| Adecuado para integridad de archivos / checksums | Sí | No (demasiado lento por diseño) |
¿Es SHA-256 vulnerable a las computadoras cuánticas?
El algoritmo de Grover proporciona a una computadora cuántica una aceleración cuadrática en problemas de búsqueda no estructurada. Aplicado a SHA-256, reduce la seguridad efectiva de 2²⁵⁶ operaciones a 2¹²⁸ operaciones. Eso suena alarmante hasta que se considera la escala: 2¹²⁸ es aproximadamente 3,4×10³⁸. Una computadora cuántica funcionando a 10 mil millones de operaciones por segundo necesitaría aproximadamente 3,4×10²⁸ años para agotar la mitad del espacio de búsqueda — órdenes de magnitud más que la edad del universo.
El algoritmo de Shor, que rompe RSA y la criptografía de curva elíptica factorizando eficientemente números enteros grandes, no se aplica a las funciones hash. La seguridad de SHA-256 no se basa en la factorización de enteros.
El NIST está estandarizando activamente algoritmos post-cuánticos (FIPS 203, 204, 205 fueron finalizados en 2024), principalmente dirigidos a criptografía asimétrica. SHA-256 no está en la lista de reemplazo para el futuro previsible. La amenaza práctica a SHA-256 por la computación cuántica sigue siendo teórica.
Cómo los gestores de contraseñas empresariales usan la criptografía de forma segura
Los gestores de contraseñas empresariales que siguen principios de conocimiento cero aplican los mismos bloques de construcción criptográficos cubiertos en este artículo (SHA-256, PBKDF2, HMAC, AES-256) pero los combinan en una arquitectura por capas donde el servidor nunca tiene datos en texto plano ni las claves para descifrarlos. La garantía de seguridad proviene del diseño, no de confiar en el servidor.
El modelo de cifrado de dos niveles de Passwork
Saber que SHA-256 simple es insuficiente para el almacenamiento de contraseñas es una cosa. Implementar la alternativa correcta en toda una empresa es otra. Aquí es donde la arquitectura de la herramienta importa tanto como el algoritmo.
Passwork está construido sobre una arquitectura de conocimiento cero: el servidor nunca tiene suficiente información para descifrar los datos del usuario. La contraseña maestra nunca abandona el dispositivo del usuario. Todas las claves criptográficas se generan del lado del cliente. El servidor almacena solo datos cifrados y claves cifradas — el descifrado solo es posible en el cliente.
La cadena de cifrado funciona de la siguiente manera, como se documenta en la descripción general de criptografía de Passwork:
- Contraseña maestra (introducida por el usuario) → PBKDF2 con SHA-256, 300.000 iteraciones
- Clave maestra (512 bits) → AES-256-CBC
- Clave privada RSA (2048 bits, RSA-OAEP)
- Clave de bóveda (256 bits) → AES-256-CBC
- Clave de registro (256 bits) → AES-256-CBC
- Datos de registro (contraseñas, secretos, archivos — cifrados en reposo)
En el lado del servidor, una capa separada AES-256-CFB cifra la base de datos de forma independiente. Cada registro está doblemente cifrado: una vez por el cliente antes de que abandone el dispositivo, una vez por el servidor antes de escribirse en disco.
PBKDF2 a 300.000 iteraciones del lado del cliente se alinea con las recomendaciones del NIST (≥310.000 para SHA-256) y supera el mínimo de OWASP para la mayoría de los contextos de implementación. El PBKDF2 del lado del servidor se ejecuta a 600.000 iteraciones — cumpliendo directamente con el umbral FIPS-140.
Esta arquitectura significa que una brecha de base de datos no produce nada utilizable. Un atacante que exfiltra la base de datos obtiene blobs cifrados con AES-256 derivados de claves que nunca se almacenaron en el servidor.
Conclusión
SHA-256 es teóricamente irrompible. El algoritmo ha sobrevivido más de dos décadas de criptoanálisis sin un ataque práctico. Pero el algoritmo solo es tan fuerte como su implementación. Almacene contraseñas como hashes SHA-256 simples, y una sola GPU puede probar miles de millones de candidatos por segundo. Añada una sal y aplique PBKDF2 con suficientes iteraciones, y el mismo hardware se vuelve inútil contra su base de datos.
La brecha entre «SHA-256 es seguro» y «nuestras contraseñas son seguras» se llena con una implementación correcta — salting, estiramiento de claves y una arquitectura de conocimiento cero que asegure que el servidor nunca tenga las claves necesarias para descifrar los datos del usuario.
Si su equipo gestiona credenciales corporativas, Passwork las protege mediante arquitectura de conocimiento cero, cifrado AES-256 del lado del cliente y estiramiento de claves PBKDF2 a 300.000 iteraciones — de modo que un compromiso del servidor no expone nada utilizable. Passwork está disponible tanto como implementación autoalojada para organizaciones que requieren control total de la infraestructura, como solución en la nube para equipos que desean las mismas garantías criptográficas sin gestionar sus propios servidores.
Preguntas frecuentes: SHA-256 explicado

¿Se puede descifrar SHA-256?
No. SHA-256 es una función hash criptográfica unidireccional. No hay clave, no hay algoritmo inverso, y no hay operación matemática que recupere la entrada original de un hash. Lo que los atacantes pueden hacer es adivinar — hasheando contraseñas candidatas y comparando la salida. Eso es cracking, no descifrado, y solo funciona contra hashes débiles o sin sal.
¿Cuál es la diferencia entre el hashing SHA-256 y el cifrado?
El cifrado es reversible con la clave correcta. El hashing no es reversible bajo ninguna circunstancia. SHA-256 toma una entrada de cualquier longitud y produce una salida fija de 256 bits. La misma entrada siempre produce la misma salida, pero el proceso no puede ejecutarse en reversa. El cifrado preserva la capacidad de recuperar los datos originales; el hashing los destruye deliberadamente.
¿Qué es el efecto avalancha en SHA-256?
El efecto avalancha significa que un cambio de un solo bit en la entrada modifica aproximadamente la mitad de los bits de salida. Cambie un carácter en una contraseña, y el hash SHA-256 resultante parece completamente no relacionado con el original. Esta propiedad impide que los atacantes usen conocimiento parcial de una entrada para reducir el espacio de búsqueda del hash.
¿Qué es PBKDF2 y por qué importa para la seguridad de contraseñas?
PBKDF2 (Password-Based Key Derivation Function 2) aplica una función pseudoaleatoria — típicamente HMAC-SHA-256 — iterativamente a una contraseña y sal. Cada iteración añade coste computacional. A 600.000 iteraciones, el tiempo requerido por intento aumenta por un factor de 600.000 comparado con un solo hash SHA-256. Esto hace que los ataques de fuerza bruta contra contraseñas almacenadas correctamente sean impracticables incluso con hardware a escala de GPU.
¿Es SHA-256 vulnerable a ataques de computación cuántica?
No prácticamente. El algoritmo de Grover reduce la seguridad efectiva de SHA-256 de 2²⁵⁶ a 2¹²⁸ operaciones. A 2¹²⁸, incluso una hipotética computadora cuántica funcionando a 10 mil millones de operaciones por segundo requeriría más tiempo que la edad del universo para agotar el espacio de búsqueda. El esfuerzo de estandarización de criptografía post-cuántica del NIST se dirige a algoritmos asimétricos, no a SHA-256.
¿Qué es la construcción Merkle-Damgård?
La construcción Merkle-Damgård es el marco estructural subyacente a SHA-256. El mensaje de entrada se divide en bloques de 512 bits. Cada bloque se procesa a través de una función de compresión que toma el bloque actual y la salida del bloque anterior como entradas. Las salidas se encadenan secuencialmente, de modo que el hash final depende de cada bit de todo el mensaje de entrada.



Tabla de contenidos
- Qué es SHA-256
- Hash vs. cifrado: Por qué SHA-256 no se puede descifrar
- Cómo funciona el algoritmo SHA-256 (paso a paso)
- Si SHA-256 no se puede descifrar, ¿cómo lo crackean los hackers?
- Por qué SHA-256 simple es malo para el almacenamiento de contraseñas
- ¿Es SHA-256 vulnerable a las computadoras cuánticas?
- Cómo los gestores de contraseñas empresariales usan la criptografía de forma segura
- Conclusión
- Preguntas frecuentes: SHA-256 explicado
Tabla de contenidos
- Qué es SHA-256
- Hash vs. cifrado: Por qué SHA-256 no se puede descifrar
- Cómo funciona el algoritmo SHA-256 (paso a paso)
- Si SHA-256 no se puede descifrar, ¿cómo lo crackean los hackers?
- Por qué SHA-256 simple es malo para el almacenamiento de contraseñas
- ¿Es SHA-256 vulnerable a las computadoras cuánticas?
- Cómo los gestores de contraseñas empresariales usan la criptografía de forma segura
- Conclusión
- Preguntas frecuentes: SHA-256 explicado
Gestor de contraseñas autohospedado para su empresa
Passwork ofrece la ventaja de un trabajo en equipo eficaz con contraseñas corporativas en un entorno totalmente seguro
Más información


