SHA-256 vs SHA-512: ¿qué función de hash elegir?

SHA-256 y SHA-512 pertenecen ambas a la familia SHA-2, diseñada por la NSA y estandarizada por el NIST. Producen una huella de tamaño fijo a partir de cualquier dato y hoy se consideran seguras. La diferencia está en el tamaño de la huella, en el rendimiento según la arquitectura y en algunos detalles de seguridad. Veamos cuál elegir y por qué.

La familia SHA-2

SHA-2 agrupa varias variantes (SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224, SHA-512/256) que comparten la misma estructura pero difieren en el tamaño de las palabras y de la huella. El número indica el tamaño de la huella en bits: SHA-256 produce 256 bits (64 caracteres hexadecimales), SHA-512 produce 512 (128 caracteres).

Puedes calcular estas huellas con nuestro generador de hash, o reconocer un algoritmo a partir de una huella con el identificador de hash. No confundir con MD5, obsoleto para la seguridad (consulta nuestra comparativa MD5 vs SHA-256).

SHA-256

SHA-256 trabaja sobre palabras de 32 bits y produce una huella de 256 bits. Es la función de hash más extendida del mundo: certificados TLS, firmas de Bitcoin, verificación de integridad de archivos, git. Su huella más corta la hace práctica para almacenar, mostrar y transmitir.

  • Huella: 256 bits, 64 caracteres hexadecimales
  • Palabras: 32 bits, óptima en plataformas de 32 bits y en embebidos
  • Adopción: la más amplia, soporte universal

SHA-512

SHA-512 trabaja sobre palabras de 64 bits y produce una huella de 512 bits. De forma contraintuitiva, en un procesador de 64 bits moderno suele ser más rápida que SHA-256 para grandes volúmenes, porque procesa más datos por ronda. Su huella más larga ofrece además un mayor margen de seguridad.

  • Huella: 512 bits, 128 caracteres hexadecimales
  • Palabras: 64 bits, óptima en arquitecturas de 64 bits
  • Resistencia nativa: SHA-512 no es vulnerable al ataque de extensión de longitud cuando se usan sus variantes truncadas (SHA-512/256)

Tabla comparativa

Criterio SHA-256 SHA-512
Tamaño de huella256 bits (64 hex)512 bits (128 hex)
Tamaño de las palabras32 bits64 bits
Velocidad en CPU de 64 bitsBuenaA menudo superior
Velocidad en 32 bits / embebidoSuperiorMás lenta
Margen de seguridadMuy altoAún superior
Extensión de longitudVulnerableVulnerable (salvo variantes truncadas)
AdopciónUniversalAmplia

Rendimiento

El rendimiento depende de la arquitectura. En un servidor o portátil de 64 bits, SHA-512 puede superar a SHA-256 entre un 20 y un 50 % en archivos grandes, porque procesa bloques más grandes por iteración. En un microcontrolador de 32 bits o un entorno limitado, SHA-256 recupera la ventaja.

En la práctica, para entradas pequeñas (una contraseña, un identificador), la diferencia es insignificante. Solo se vuelve medible en volúmenes grandes o caudales elevados.

Cuándo elegir una u otra

Elegir SHA-256 cuando

  • Buscas la máxima compatibilidad y un formato compacto
  • Apuntas a embebidos, IoT o plataformas de 32 bits
  • Verificas la integridad de archivos o firmas certificados
  • Una huella corta facilita la visualización y el almacenamiento

Elegir SHA-512 cuando

  • Haces hash de grandes volúmenes en servidores de 64 bits
  • Quieres el mayor margen de seguridad posible
  • Usas SHA-512/256 para resistir la extensión de longitud manteniendo 256 bits

Importante: ninguna de las dos es adecuada para el hash de contraseñas. Para eso, usa bcrypt o Argon2, diseñados para ser lentos y con sal.

Recomendación

Para un uso general, SHA-256 es la opción por defecto: universalmente soportada, compacta, ampliamente segura. Opta por SHA-512 si haces hash de grandes volúmenes en hardware de 64 bits o si quieres un margen de seguridad adicional. Y para almacenar contraseñas, recurre a una función dedicada como Argon2id, nunca a SHA-2 por sí solo.

Preguntas frecuentes

¿Es SHA-512 más seguro que SHA-256?

SHA-512 ofrece un margen de seguridad teórico superior gracias a su huella más larga, pero SHA-256 ya está ampliamente fuera del alcance de los ataques actuales. Para la práctica totalidad de los usos, ambas se consideran seguras.

¿Por qué SHA-512 puede ser más rápido que SHA-256?

Porque maneja palabras de 64 bits y procesa bloques más grandes por ronda. En un procesador de 64 bits nativo, eso compensa el sobrecoste y lo hace a menudo más rápido en grandes volúmenes. En 32 bits, es al revés.

¿Puedo hacer hash de contraseñas con SHA-256 o SHA-512?

No, sería un error. Estas funciones son rápidas, por lo que son fáciles de atacar por fuerza bruta. Usa bcrypt o Argon2id, que son deliberadamente lentos e integran una sal.

¿Qué es SHA-512/256?

Es SHA-512 cuya huella se trunca a 256 bits, con valores de inicialización diferentes. Se obtiene una huella de 256 bits, la velocidad de SHA-512 en 64 bits y una resistencia nativa al ataque de extensión de longitud.