SHA-1 vs SHA-256 vs SHA-512: Eligiendo el Algoritmo Hash Correcto

16 Jun 2026 666 words

SHA-1 vs SHA-256 vs SHA-512

SHA-1, SHA-256 y SHA-512 son miembros de la familia Secure Hash Algorithm, pero difieren significativamente en seguridad, tamaño de salida y rendimiento. Elegir el correcto depende de tus requisitos de seguridad, restricciones de rendimiento y necesidades de compatibilidad.

Comparación Rápida

Característica SHA-1 SHA-256 SHA-512
Tamaño de salida 160 bits (20 bytes) 256 bits (32 bytes) 512 bits (64 bytes)
Nivel de seguridad 80 bits (roto) 128 bits (seguro) 256 bits (seguro)
Rondas 80 64 80
Tamaño de palabra 32 bits 32 bits 64 bits
Tamaño de bloque 512 bits 512 bits 1024 bits
Estado Obsoleto Recomendado Recomendado

Análisis de Seguridad

SHA-1 produce un hash de 160 bits, dándole una resistencia a colisiones de 2^80 operaciones por la paradoja del cumpleaños. En 2017, Google demostró el ataque SHAttered, produciendo la primera colisión SHA-1 práctica usando aproximadamente 2^63 operaciones. Esto demostró que SHA-1 ya no proporciona seguridad adecuada para ningún propósito donde la resistencia a colisiones importe.

SHA-256 proporciona resistencia a colisiones de 128 bits. A partir de 2026, ningún ataque práctico reduce la seguridad de SHA-256 por debajo de su fortaleza de diseño. Está aprobado por NIST para uso en aplicaciones gubernamentales de EE.UU. y es el estándar para certificados SSL/TLS, blockchain y firmas digitales.

SHA-512 proporciona resistencia a colisiones de 256 bits. Es incluso más fuerte que SHA-256 pero ofrece más seguridad de la que la mayoría de las aplicaciones necesitan. La fortaleza adicional viene con un costo de rendimiento en sistemas de 32 bits, pero en sistemas de 64 bits SHA-512 puede ser más rápido que SHA-256.

Dónde se Encuentra SHA-1 Todavía

A pesar de estar obsoleto, SHA-1 todavía aparece en sistemas heredados:

  • Git usa SHA-1 para hashes de commits (aunque Git ha añadido soporte SHA-256)
  • Firmas digitales antiguas firmadas con certificados SHA-1
  • Sumas de verificación de archivos heredados distribuidas antes de la deprecación
  • Algunos sistemas de control de versiones y herramientas de respaldo

Si encuentras SHA-1 en un sistema nuevo, migra a SHA-256 inmediatamente.

Consideraciones de Rendimiento

En procesadores de 32 bits, SHA-256 es más rápido que SHA-512 porque SHA-512 opera con palabras de 64 bits, requiriendo instrucciones adicionales. En procesadores de 64 bits con aceleración hardware (extensiones SHA), tanto SHA-256 como SHA-512 funcionan bien, siendo SHA-256 típicamente ligeramente más rápido.

Para el hash de archivos grandes, la diferencia es medible pero raramente significativa para uso típico. Un archivo que tarda 1 segundo en hashearse con SHA-256 podría tardar 0.7 segundos con SHA-1 o 1.3 segundos con SHA-512. Para la mayoría de las aplicaciones, los beneficios de seguridad de SHA-256 superan con creces la diferencia menor de rendimiento.

Ejemplos de Código

// PHP
echo hash('sha1', 'hello');   // aaf4c61ddcc5e8a2dabede0f3b482cd9aea9434d
echo hash('sha256', 'hello'); // 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824
echo hash('sha512', 'hello'); // 9b71d224bd62f3785d96d46ad3ea3d73319bfbc2890caadae2dff72519673ca72323c3d99ba5c11d7c7acc6e14b8c5da0c4663475c2e5c3adef46f73bcdec043
import hashlib

print(hashlib.sha1(b'hello').hexdigest())
print(hashlib.sha256(b'hello').hexdigest())
print(hashlib.sha512(b'hello').hexdigest())
// Node.js
const crypto = require('crypto');
console.log(crypto.createHash('sha1').update('hello').digest('hex'));
console.log(crypto.createHash('sha256').update('hello').digest('hex'));
console.log(crypto.createHash('sha512').update('hello').digest('hex'));

Recomendación

Caso de Uso Recomendación
Certificados SSL/TLS SHA-256
Verificación de integridad de archivos SHA-256 o SHA-512
Firmas digitales SHA-256
Hash de contraseñas bcrypt o argon2 (no SHA)
Blockchain / cripto SHA-256
Archivado a largo plazo SHA-512
Compatibilidad heredada Migrar a SHA-256

Herramientas en Línea

Usa las herramientas Generador SHA-1, Generador SHA-256 y Generador SHA-512 para calcular hashes al instante. El Generador de Hash Múltiple genera todos los tipos de hash a la vez para comparación.

Conclusión

SHA-1 está roto y no debe usarse. SHA-256 es el estándar recomendado para la mayoría de las aplicaciones. SHA-512 proporciona seguridad adicional para entornos de alto riesgo. Usa SHA-256 por defecto a menos que tengas una razón específica para elegir otro.


About this article

Compara los algoritmos hash SHA-1, SHA-256 y SHA-512 para entender sus niveles de seguridad, compensaciones de rendimiento y cuándo usar cada uno.


Related Articles


Related Tools

Help2Code Logo
Menu