Chuleta de algoritmos de hash y cifrado

Tamaños de resumen de MD5, SHA-1, SHA-2, SHA-3 y BLAKE2, claves y bloques de AES, ChaCha20 y 3DES, hashes de contraseñas y algoritmos de firma, con su estado.

Última revisión:

AdSense Placeholder
Slot: header_reference_page
En esta página

Un hash convierte cualquier entrada en una huella de tamaño fijo y no se puede invertir; un cifrado mezcla los datos con una clave de modo que se puedan descifrar después. Los tamaños de resumen de esta página se calcularon con hashlib de Python, y los tamaños de clave y de IV de los cifrados se leyeron de OpenSSL 3.5. Pruebe cualquier hash con el generador de hash.

Funciones hash

Algoritmo Resumen (bits) Caracteres hex Bloque interno (bits) Estado
CRC-32 32 8 n/d Solo detección de errores, no es un hash de seguridad
MD5 128 32 512 Roto: las colisiones son baratas
SHA-1 160 40 512 Roto: colisiones prácticas desde 2017; evítelo
RIPEMD-160 160 40 512 Heredado (direcciones Bitcoin); no para diseños nuevos
SHA-224 224 56 512 Vigente (SHA-2)
SHA-256 256 64 512 Vigente; la opción por defecto
SHA-384 384 96 1024 Vigente
SHA-512 512 128 1024 Vigente; a menudo más rápido que SHA-256 en CPU de 64 bits sin instrucciones SHA
SHA-512/256 256 64 1024 Vigente; resiste la extensión de longitud
SHA3-256 256 64 1088 (tasa) Vigente (Keccak)
SHA3-512 512 128 576 (tasa) Vigente
SHAKE128 / SHAKE256 cualquier longitud cualquiera 1344 / 1088 (tasa) Vigente; salida extensible
BLAKE2s hasta 256 hasta 64 512 Vigente; rápido en software
BLAKE2b hasta 512 hasta 128 1024 Vigente
SM3 256 64 512 Estándar nacional chino

Identificar un hash por su longitud: 32 caracteres hex suele ser MD5, 40 es SHA-1, 64 es SHA-256 (o SHA3-256, BLAKE2s), 128 es SHA-512 (o SHA3-512, BLAKE2b). La longitud sola no distingue algoritmos del mismo tamaño.

Vectores de prueba para el texto abc

Algoritmo Resumen (hex)
CRC-32 352441c2
MD5 900150983cd24fb0d6963f7d28e17f72
SHA-1 a9993e364706816aba3e25717850c26c9cd0d89d
SHA-256 ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad
SHA3-256 3a985da74fe225b2045c172d6bd390bd855f086e3e9d525b46bfe24511431532
HMAC-SHA256, clave key 9c196e32dc0175f86f4b1cb89289d6619de6bee699e4c378e68309ed97a1a6ab

Pegue abc en las herramientas para comprobar una implementación; verifique archivos con la calculadora de sumas de comprobación y resúmenes con clave con el generador de HMAC.

Cifrados simétricos

Cifrado Tipo Clave (bits) Bloque (bits) IV / nonce (bits) Estado
AES-128 Bloque 128 128 128 (CBC), 96 (GCM) Vigente
AES-192 Bloque 192 128 128 (CBC), 96 (GCM) Vigente
AES-256 Bloque 256 128 128 (CBC), 96 (GCM) Vigente; la opción habitual
ChaCha20 Flujo 256 n/d nonce de 96 + contador de 32 bits Vigente; úselo con Poly1305
Camellia Bloque 128 / 192 / 256 128 128 Vigente; menos común
ARIA Bloque 128 / 192 / 256 128 128 Estándar coreano
SM4 Bloque 128 128 128 Estándar nacional chino
Triple DES (3DES) Bloque 168 (fuerza de 112 bits) 64 64 Obsoleto: bloque de 64 bits
Blowfish Bloque de 32 a 448 64 64 Heredado: bloque de 64 bits
DES Bloque 56 64 64 Roto: la clave de 56 bits se puede obtener por fuerza bruta
RC4 Flujo de 40 a 2048 n/d ninguno Roto: prohibido en TLS

Modos de operación

Modo ¿Autenticado? Notas
GCM Sí (AEAD) Por defecto en TLS y en la mayoría de API; nunca reutilice un nonce con la misma clave
ChaCha20-Poly1305 Sí (AEAD) Rápido sin hardware AES; misma regla del nonce
CCM Sí (AEAD) Dispositivos con recursos limitados
CBC No Necesita un IV aleatorio y un MAC aparte; riesgo de padding oracle
CTR No Convierte un cifrado de bloque en uno de flujo; necesita un MAC
ECB No Bloques iguales dan salidas iguales: no lo use nunca para datos

Hash de contraseñas

Algoritmo Formato de ejemplo Coste ajustable Estado
Argon2id $argon2id$v=19$m=65536,t=3,p=4$... Memoria, tiempo, paralelismo Primera opción recomendada
scrypt $scrypt$... (el formato varía) Memoria y CPU Bueno
bcrypt $2b$12$ + 53 caracteres (60 en total) Factor de coste (12 = 2^12 rondas) Bueno; entrada limitada a 72 bytes
PBKDF2-HMAC-SHA256 pbkdf2_sha256$600000$... Número de iteraciones Aceptable cuando se exige FIPS
SHA-256 / MD5 sin más ninguno Nunca: miles de millones de intentos por segundo en una GPU

Añada siempre una sal aleatoria única (los formatos anteriores la guardan por usted). Genere hashes bcrypt con el generador de bcrypt.

Algoritmos asimétricos

Algoritmo Uso Clave típica Firma / salida Estado
RSA Firmas, transporte de claves de 2048 a 4096 bits Mismo tamaño que la clave Vigente desde 2048; 1024 es demasiado débil
ECDSA P-256 Firmas 256 bits 64 bytes (r y s en bruto) Vigente
Ed25519 Firmas 256 bits (clave de 32 bytes) 64 bytes Vigente; simple y rápido
X25519 Acuerdo de claves 256 bits Secreto compartido de 32 bytes Vigente (TLS 1.3)
ECDH P-256 Acuerdo de claves 256 bits Secreto compartido de 32 bytes Vigente
ML-KEM (Kyber) Acuerdo de claves poscuántico Conjuntos de parámetros 512, 768, 1024 Secreto compartido de 32 bytes Estándar del NIST (FIPS 203)
ML-DSA (Dilithium) Firmas poscuánticas Conjuntos de parámetros 44, 65, 87 2420, 3309 o 4627 bytes Estándar del NIST (FIPS 204)
DSA Firmas de 1024 a 3072 bits Obsoleto

Cree pares de claves RSA o de curva elíptica con el generador de pares de claves; cifre textos cortos con AES en la herramienta de cifrado de texto AES.

Pruebe estas herramientas

Véase también

  • Guía Cómo funciona el hashing
    Qué hace una función hash, el efecto avalancha mostrado con salida real de SHA-256, qué algoritmos siguen siendo seguros.
  • Glosario Hash
    Un hash es la huella de longitud fija que una función hash calcula de cualquier entrada.
  • Glosario Cifrado
    El cifrado es el proceso de codificar datos con una clave de modo que solo quien tenga la clave correcta pueda leerlos.
  • Glosario Sal (salt)
    Una sal (salt) es un valor aleatorio único que se añade a una contraseña antes de calcular su hash.
  • Glosario HMAC
    HMAC (código de autenticación de mensajes basado en hash) es un hash con clave secreta que prueba que un mensaje viene de quien tiene la.
  • Glosario Criptografía de clave pública
    La criptografía de clave pública (asimétrica) usa un par de claves enlazadas: una clave pública que puede tener cualquiera y una clave.

Preguntas frecuentes

Solo contra la corrupción accidental. Quien pueda modificar el archivo también puede fabricar otro con el mismo MD5, así que use SHA-256 siempre que la suma de comprobación deba demostrar que el archivo no se manipuló.

AdSense Placeholder
Slot: footer_leaderboard