Las líneas de resumen usan la forma «ALGORITMO hash» para que pueda copiarlas en notas de versión o manifiestos de descarga.
Generador de hash: cada algoritmo explicado desde cero
En una frase: una función hash criptográfica es una batidora de un solo sentido: toma cualquier número de bytes y los comprime en una huella de longitud fija, de modo que la misma entrada siempre da la misma huella, pero la huella no le dice cómo reconstruir la entrada. Esta página ejecuta once de ellos por completo dentro de la pestaña de su navegador.
Cada algoritmo siguiente se explica en los mismos cuatro pasos: qué es, con palabras sencillas; la intuición de cómo funciona, sin fórmulas; si todavía debe usarlo hoy; y los errores que más se cometen con él.
MD5
Qué es. MD5 (1992) comprime cualquier entrada en una huella de 128 bits (32 caracteres hexadecimales). Se diseñó para ser rápido en las computadoras de los años noventa, y lo consiguió — por eso sigue apareciendo en todas partes: páginas de descarga de software, cachés de deduplicación de archivos, claves de bases de datos heredadas.
Cómo funciona, intuitivamente. La entrada se corta en bloques de 64 bytes. Cada bloque se remueve cuatro veces sobre un estado rodante de 128 bits (cuatro rondas de mezcla ligeramente distintas), y tras el último bloque el estado se imprime como resumen. La mezcla se construye con sumas, rotaciones y búsquedas en tablas — baratas entonces, baratas ahora.
¿Debe usarlo? Para sumas de comprobación en las que nadie intenta engañarle — detectar una descarga corrupta, localizar archivos duplicados — sí: sigue detectando la corrupción perfectamente. Para cualquier cosa adversarial, no: desde 2004 los investigadores pueden fabricar dos archivos distintos con el mismo MD5 en segundos, y en 2008 hubo falsificaciones reales de certificados con colisiones de MD5. Trátelo como un número de serie, no como un cerrojo.
Errores habituales. Usar MD5 para contraseñas (demasiado rápido — vea el Generador de hash de contraseñas para saber qué debe usarse en su lugar); confiar en un archivo porque «el MD5 coincide» cuando el atacante también publicó ese MD5; y pegar la línea completa MD5 (archivo) = hash en lugar de solo el hash: el cuadro de verificación de arriba acepta ambos.
SHA-1
Qué es. SHA-1 (1995, NSA) produce un resumen de 160 bits (40 caracteres hexadecimales). Durante veinte años fue el hash de integridad predeterminado de Git, de los certificados TLS y de las firmas PGP.
Cómo funciona, intuitivamente. La misma receta de la familia de MD5, pero con un estado de 160 bits, 80 rondas de mezcla por bloque de 64 bytes y un conjunto más amplio de operaciones. Las rondas adicionales pretendían hacer más difícil de invertir la batidora.
¿Debe usarlo? No, para nada adversarial. La rotura teórica se volvió práctica en 2017, cuando Google produjo dos PDF distintos con valores SHA-1 idénticos (el ataque SHAttered, de unos 6500 años-CPU). Git sigue guardando objetos bajo SHA-1, pero lo trata solo como identificador, y desde entonces ha añadido detección de colisiones. Para trabajo nuevo use SHA-256 o SHA-3.
Errores habituales. Creer que 160 bits «siguen siendo suficientes» — la rotura afecta a la estructura interna, no a la fuerza bruta; y confundir RIPEMD-160 con SHA-1 porque ambos tienen 40 caracteres hexadecimales (el cuadro de identificación de arriba los distingue).
SHA-2: SHA-256, SHA-384 y SHA-512
Qué es. La familia SHA-2 (2001, NSA) es el caballo de batalla de la verificación de integridad moderna. SHA-256 da 256 bits (64 caracteres hexadecimales), SHA-512 da 512 bits, y SHA-384 es SHA-512 con el resultado recortado a 384 bits — útil cuando un protocolo exige una etiqueta más corta.
Cómo funciona, intuitivamente. Los bloques de 64 bytes (o de 128 bytes para las variantes de 512 bits) se pliegan sobre un estado de 8 palabras mediante 64 (u 80) rondas de pasos de suma, rotación y mezcla. A diferencia de MD5, el planificador primero estira cada bloque en un búfer expandido, y eso es lo que frustró el tipo de ataque que rompió MD5 y SHA-1. Una curiosidad que conviene conocer: en CPU de 64 bits, SHA-512 es más rápido que SHA-256, porque procesa el doble de datos por ronda con aritmética de 64 bits.
¿Debe usarlo? Sí — SHA-256 es hoy la respuesta predeterminada para sumas de comprobación de archivos, firma de código y huellas de certificados, sin ninguna rotura práctica conocida tras dos décadas de análisis. Use SHA-384/512 cuando quiera más margen o cuando la plataforma los ejecute más rápido.
Errores habituales. Usar SHA-256 solo para contraseñas — es un hash rápido, y la velocidad es el enemigo en ese caso (use bcrypt, scrypt o Argon2id); y confundir la longitud del resumen con la fuerza frente a colisiones adversariales — la longitud solo fija el techo.
SHA-3 (SHA3-256 / SHA3-512) y Keccak-256
Qué es. SHA-3 (2015, estandarizado a partir de la propuesta Keccak de Bertoni, Daemen, Peeters y Van Assche) es el tercer estándar de hash del NIST. No comparte nada con los internos de SHA-2: se eligió precisamente para ser un respaldo independiente por si algún día SHA-2 cayera.
Cómo funciona, intuitivamente. En lugar de remover bloques a través de un estado pequeño, Keccak repite «absorber y exprimir»: la entrada se absorbe bit a bit en una esponja de 5×5×64 bits, toda la esponja se desordena con una permutación fija (24 rondas de operaciones bit a bit sobre todo el estado) y después se exprimen los bits del resumen. La imagen de la esponja es toda la idea: los bits de capacidad nunca se emiten, y son lo que hace que la función sea de un solo sentido.
Keccak-256 frente a SHA3-256. Se diferencian exactamente en un byte de relleno. La propuesta original del equipo Keccak rellenaba el último bloque con 0x01; el NIST cambió el relleno estándar a 0x06 (separación de dominios). Ethereum adoptó el relleno original, así que su «keccak256» difiere del SHA3-256 estándar para cualquier entrada. Esta página ofrece ambos, marcados por separado.
¿Debe usarlo? Sí — ya sea como opción principal cuando la política exige un algoritmo que no sea de la familia SHA-2, o allí donde el ecosistema ya lo utiliza. Errores habituales: suponer que SHA3-256 y Keccak-256 son intercambiables (no lo son: compare las dos filas que esta página produce para la misma entrada); y suponer que «SHA-3» sustituye a SHA-2 — ambos son seguros, y SHA-2 sigue siendo el más extendido.
RIPEMD-160
Qué es. RIPEMD-160 (1996, del consorcio académico europeo RIPE, reforzado por Dobbertin, Bosselaers y Preneel) da 160 bits. Es un diseño totalmente europeo, deliberadamente independiente de la familia SHA diseñada por la NSA.
Cómo funciona, intuitivamente. Cada bloque de 64 bytes se procesa mediante dos líneas paralelas de 80 rondas con constantes y cantidades de rotación distintas; al final se combinan las dos líneas y el estado anterior. La estructura de dos vías fue la forma en que los diseñadores resistieron los ataques diferenciales que rompían otros hashes de los años noventa.
¿Debe usarlo? En la práctica sobrevive sobre todo dentro de otros sistemas: las direcciones de Bitcoin aplican RIPEMD-160(SHA-256(pk)) a sus claves públicas, las claves OpenPGP antiguas lo ofrecen como opción de hash, y es el hash tradicional de las piezas de BitTorrent v1 junto con SHA-1. No tiene ningún ataque de colisión práctico, pero su tamaño de 160 bits le da el margen de seguridad más estrecho de esta página. Para uso independiente nuevo, prefiera SHA-256 o SHA-3.
Errores habituales. Creer que las dos líneas paralelas lo hacen «el doble de fuerte» — lo que limita la resistencia a colisiones es el tamaño de la salida; y confundirlo con SHA-1 (la misma longitud de 40 caracteres hexadecimales; el cuadro de identificación de arriba enumera ambas posibilidades una junto a otra).
BLAKE2b-512 y BLAKE2s-256
Qué es. BLAKE2 (2013, Aumasson, Neves, Wilcox-O’Hearn y Winnerlein) es un hash diseñado para la velocidad del software: BLAKE2b apunta a plataformas de 64 bits con salida de hasta 512 bits, y BLAKE2s a plataformas de 32 bits con salida de hasta 256 bits.
Cómo funciona, intuitivamente. Desciende del finalista de SHA-3, BLAKE, cuyo núcleo es una permutación con clave tomada del cifrado de flujo ChaCha: una matriz de 4×4 palabras se desordena alternando pasos de mezcla por columnas y por diagonales — como barajar una cuadrícula primero de arriba abajo y después por las diagonales — durante 12 rondas (BLAKE2b) o 10 (BLAKE2s) por bloque. Como esos pasos se traducen muy bien a instrucciones de CPU, BLAKE2 suele ser más rápido que MD5 y ofrece una seguridad comparable a la de SHA-3.
¿Debe usarlo? Sí — es un diseño moderno y sin roturas, muy usado en software sensible al rendimiento (integridad de paquetes en algunos ecosistemas, almacenamiento direccionado por contenido, deduplicación en copias de seguridad) y como MAC rápido. En esta página, BLAKE2b-512 da los resúmenes más largos y BLAKE2s-256 la opción moderna compacta.
Errores habituales. Pensar que «más rápido debe significar más débil» — BLAKE2 es más rápido por diseño, no por recortar atajos; y no saber que BLAKE2 también acepta una clave (convirtiéndose en un MAC) o una cadena de personalización — esta página siempre lo usa en modo simple, sin clave.
Cómo leer los cuadros de verificación e identificación
Verificar. El cuadro de verificación normaliza lo que pegue — mayúsculas o minúsculas, dos puntos cada dos dígitos, un prefijo sha256=, el envoltorio al estilo BSD SHA256 (archivo) = hash, una línea GNU de md5sum con el nombre de archivo tras el hash, saltos de línea \r\n sobrantes — y después recalcula cada algoritmo marcado sobre su entrada actual (texto o el archivo elegido), e informa de cada algoritmo que coincide. Una coincidencia en verde significa «estos bytes son exactamente lo que el editor calculó»; en rojo significa que ninguno de los algoritmos marcados lo produjo: pruebe a marcar más algoritmos o compruebe si el pegado se truncó.
Identificar. El cuadro de identificación no calcula ningún hash; lee la forma de la cadena. La longitud acota los candidatos: 32 caracteres hexadecimales pueden ser MD5; 40, SHA-1 o RIPEMD-160; 64, SHA-256, SHA3-256, Keccak-256 o BLAKE2s-256; 96, SHA-384; 128, SHA-512, SHA3-512 o BLAKE2b-512. Los prefijos revelan hashes de contraseña ($2a$/$2b$/$2y$ bcrypt, $argon2id$, $scrypt$, $6$ sha512crypt, $1$ MD5-crypt): son otra especie (vea el Generador de hash de contraseñas) y esta página deliberadamente no los calcula. Una cadena con +, / y = cuya longitud es múltiplo de 4 es más probablemente un dato codificado en Base64 que un resumen hexadecimal; la herramienta lo decodifica e informa de la longitud en bytes que le correspondería.
Lo que la identificación puede y no puede decirle. La longitud y el conjunto de caracteres son huellas del formato, no una prueba del algoritmo: dos cadenas de 64 caracteres hexadecimales pueden proceder de SHA-256 o de un SHA-512 truncado. El identificador ordena las posibilidades; el cuadro de verificación es el que demuestra con qué algoritmo coinciden realmente sus bytes.
Los once de un vistazo
| Algoritmo |
Longitud del resumen |
Año |
Resumen de «The quick brown fox jumps over the lazy dog» |
| MD5 | 128 bits | 1992 | 9e107d9d372bb6826bd81d3542a419d6 |
| SHA-1 | 160 bits | 1995 | 2fd4e1c67a2d28fced849ee1bb76e7391b93eb12 |
| SHA-256 | 256 bits | 2001 | d7a8fbb307d7809469ca9abcb0082e4f8d5651e46d3cdb762d02d0bf37c9e592 |
| SHA-384 | 384 bits | 2001 | ca737f1014a48f4c0b6dd43cb177b0afd9e5169367544c494011e3317dbf9a509cb1e5dc1e85a941bbee3d7f2afbc9b1 |
| SHA-512 | 512 bits | 2001 | 07e547d9586f6a73f73fbac0435ed76951218fb7d0c8d788a309d785436bbb642e93a252a954f23912547d1e8a3b5ed6e1bfd7097821233fa0538f3db854fee6 |
| SHA3-256 | 256 bits | 2015 | 69070dda01975c8c120c3aada1b282394e7f032fa9cf32f4cb2259a0897dfc04 |
| SHA3-512 | 512 bits | 2015 | 01dedd5de4ef14642445ba5f5b97c15e47b9ad931326e4b0727cd94cefc44fff23f07bf543139939b49128caf436dc1bdee54fcb24023a08d9403f9b4bf0d450 |
| Keccak-256 | 256 bits | anterior a 2015 | 4d741b6f1eb29cb2a9b9911c82f56fa8d73b04959d3d9d222895df6c0b28aa15 |
| RIPEMD-160 | 160 bits | 1996 | 37f332f68db77bd9d7edd4969571ad671cf9dd3b |
| BLAKE2b-512 | 512 bits | 2013 | a8add4bdddfd93e4877d2746e62817b116364a1fa7bc148d95090bc7333b3673f82401cf7aa2e4cb1ecd90296e3f14cb5413f8ed77be73045b13914cdcd6a918 |
| BLAKE2s-256 | 256 bits | 2013 | 606beeec743ccbeff6cbcdf5d5302aa855c256c29b88c8ed331ea1a6bf3c8812 |
Cada resumen de la tabla de arriba lo producen los motores de esta misma página — marque todos los algoritmos, pulse Ejemplo y compare. Las filas de SHA-3, Keccak, RIPEMD-160 y BLAKE2 proceden del núcleo autoalojado crypto-shared.js que usan las herramientas criptográficas de este sitio.
Preguntas frecuentes
¿En qué cuadro debo confiar para una descarga? En el cuadro de verificación, con SHA-256 marcado — hoy la mayoría de editores firman con SHA-256 o SHA-512. El cuadro de identificación solo nombra candidatos; nunca demuestra nada sobre su archivo.
¿Por qué Keccak-256 aparece en la lista? Porque Ethereum, Swarm y algunos sistemas de registro estandarizaron el relleno previo a la estandarización. Si verifica un keccak256 de Ethereum, debe usar esa fila, no SHA3-256.
¿Pueden dos entradas distintas compartir un resumen? En teoría, sí — infinitas entradas se asignan a un conjunto finito de resúmenes (principio del palomar). En la práctica, encontrar un par así antes del fin del universo es lo que significa «resistencia a colisiones», y todos los algoritmos de arriba, salvo MD5 y SHA-1, siguen en pie.
¿Son los hashes un cifrado? No. El cifrado es reversible con una clave; un hash es una batidora de un solo sentido. Nada de esta página puede «descifrarse» de vuelta a su texto, y eso es una característica, no una limitación.