AdSense Placeholder
Slot: header_reference_page
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.