Generador de hash: MD5, SHA-1, SHA-256, SHA-512, CRC32 y HMAC
Calcula el hash de textos o archivos con MD5, SHA-1, SHA-256, SHA-384, SHA-512 y CRC32, verifica una suma de comprobación o calcula un HMAC. Los archivos nunca salen de tu dispositivo.
| MD5 | … | |
|---|---|---|
| SHA-1 | … | |
| SHA-256 | … | |
| SHA-512 | … | |
| CRC32 | … |
El texto y los archivos se procesan en tu navegador; los archivos se leen del disco por bloques y nunca se suben. Ver todas las herramientas gratis.
¿Encontraste un problema o algo que podría mejorar? Leemos todos los mensajes y lo arreglamos rápido.
Este generador de hash calcula sumas de comprobación MD5, SHA-1, SHA-256, SHA-384, SHA-512 y CRC32 de textos o archivos, todas a la vez, en tu navegador. Úsalo para comprobar que una descarga coincide con el checksum del sitio del editor, para obtener un SHA-256 para un lockfile o un atributo de Subresource Integrity, o para calcular una firma HMAC mientras depuras un webhook. El texto se procesa como bytes UTF-8, igual que sha256sum, OpenSSL y la biblioteca estándar de cualquier lenguaje de programación. Suelta varios archivos a la vez y obtendrás una tabla de checksums de todos ellos, más un archivo compatible con sha256sum que puedes comprobar con sha256sum -c; o marca "Generar el hash de cada línea por separado" para procesar una lista entera de cadenas de una vez.
Los archivos se leen de tu disco en fragmentos de 4 MB y se pasan a funciones hash en streaming, así que una ISO de varios gigabytes se comprueba sin cargarla en memoria y sin subir ni un byte. Se muestra el progreso y puedes cancelar. Un límite sincero: calcular hashes en una pestaña del navegador es más lento que con una herramienta nativa, así que para una imagen de disco de 50 GB, sha256sum o certutil en la línea de comandos serán más rápidos.
Cómo usarla
- Elige Texto, Archivo o HMAC arriba.
- Para texto, escribe o pega; los hashes se actualizan mientras escribes. Para un archivo, suéltalo en el recuadro o haz clic para elegirlo.
- Desmarca los algoritmos que no necesites antes de procesar un archivo grande; cada uno añade tiempo.
- Pega el checksum del editor en "Comparar con la suma de comprobación esperada" para ver claramente si coincide o no.
- Cambia la salida a Base64 o a hexadecimal en mayúsculas si el sistema con el que comparas usa esa forma, y copia.
- Para muchos archivos, selecciónalos o suéltalos juntos: se procesan uno tras otro y puedes descargar un .txt al estilo sha256sum o un CSV con todos los checksums.
Preguntas frecuentes
¿Puedo obtener checksums de varios archivos a la vez?
Sí. Selecciona o suelta hasta 500 archivos juntos en la pestaña Archivo. Se procesan uno tras otro con los algoritmos que hayas marcado, cada uno leído en bloques de 4 MB para que el uso de memoria se mantenga bajo, y un archivo que no se puede leer se marca como fallido sin detener al resto. Descarga los resultados como .txt en formato de GNU coreutils (igual que la salida de sha256sum, md5sum o sha512sum, así que sha256sum -c puede verificarlo) o como CSV con todos los algoritmos. También puedes pegar una lista SHA256SUMS existente para comprobar cada archivo con ella.
¿Puedo calcular el hash de una lista de cadenas, una por línea?
Sí. En la pestaña Texto, marca "Generar el hash de cada línea por separado". Cada línea se procesa por su cuenta como UTF-8, sin su salto de línea, hasta 5000 líneas, y la tabla se puede copiar como texto separado por tabulaciones o descargar como CSV.
¿Qué diferencia hay entre MD5, SHA-1 y SHA-256?
Son funciones hash con distintos tamaños de salida y distinta seguridad. MD5 produce 128 bits y SHA-1, 160 bits; ambas están rotas para fines de seguridad, porque los investigadores pueden crear dos entradas distintas con el mismo hash (MD5 desde 2004 y SHA-1 públicamente desde el ataque SHAttered de 2017). SHA-256 produce 256 bits y no se le conoce ningún ataque práctico. Usa SHA-256 o SHA-512 para todo lo relacionado con la seguridad; MD5 y SHA-1 siguen sirviendo para detectar corrupción accidental.
¿Cómo verifico el checksum de un archivo?
Abre la pestaña Archivo, suelta el archivo descargado y pega el checksum de la página de descarga en el campo de comparación. Si coincide, el archivo que tienes es byte a byte el mismo del que el editor calculó el hash. Asegúrate de comparar lo mismo con lo mismo: un checksum SHA-256 tiene 64 caracteres hexadecimales, SHA-1 tiene 40 y MD5, 32. Para tener una garantía real, obtén el checksum por HTTPS desde el sitio oficial, no desde el mismo mirror que el archivo.
¿Se puede revertir o descifrar un hash?
No. Un hash es una función unidireccional: no hay clave ni nada que descifrar. Lo que hacen en realidad los sitios de "MD5 decrypt" es buscar el hash en tablas de cadenas comunes ya procesadas. Por eso es fácil encontrar el hash de una contraseña corta o común, y por eso las contraseñas deben guardarse con un algoritmo lento y con sal como bcrypt o Argon2, nunca con un simple SHA-256.
¿Por qué mi hash no coincide con el de mi código?
Los bytes de entrada son distintos, normalmente de forma invisible. Las causas habituales son un salto de línea final (echo añade uno; usa echo -n), finales de línea CRLF de Windows en lugar de LF, una codificación de texto distinta de UTF-8, espacios al principio o al final, o comparar un digest en hexadecimal con uno en Base64. Los hashes cambian por completo con un solo byte de diferencia, así que comprueba el número de bytes que aparece bajo el cuadro de texto.
¿Qué es HMAC y cuándo lo necesito?
HMAC (RFC 2104) combina una clave secreta con una función hash para producir una firma que solo puede crear quien tenga la clave. Proveedores de webhooks como Stripe, GitHub y Shopify firman sus payloads con HMAC-SHA256 para que puedas verificar que una petición viene realmente de ellos. No lo construyas tú como sha256(key + message): con SHA-256 esa construcción es vulnerable a ataques de extensión de longitud, que es justo lo que HMAC está diseñado para evitar.
¿CRC32 es un hash?
Es una suma de comprobación, no un hash criptográfico. CRC32 es muy rápido y detecta bien errores accidentales como un bit invertido en una transmisión, y por eso lo usan ZIP, gzip, PNG y Ethernet. Es trivial falsificarlo de forma deliberada, así que nunca lo uses para demostrar que un archivo no ha sido manipulado.
Qué hash usar para cada cosa
• Verificar una descarga con el checksum del editor: el algoritmo que haya publicado, normalmente SHA-256.
• Integridad en contextos de seguridad (Subresource Integrity, lockfiles de paquetes, firma de código, certificados): SHA-256 o SHA-384. Los atributos SRI usan Base64, y por eso existe el selector de salida.
• Firmar una petición de API o un webhook con un secreto compartido: HMAC-SHA256.
• Guardar contraseñas: ninguno de estos. Usa bcrypt, scrypt o Argon2id, que son lentos a propósito y llevan sal. Un hash rápido permite a un atacante probar miles de millones de intentos por segundo en una GPU.
• Deduplicación, claves de caché, ETags y detección de corrupción accidental: MD5, SHA-1 o CRC32 sirven y son rápidos, porque nadie intenta falsificar una colisión.
Cómo se calculan aquí los hashes de archivos grandes
La API WebCrypto integrada en el navegador solo puede calcular el hash de un búfer que tenga entero en memoria. Para texto no hay problema, y esta herramienta la usa. Para un archivo de 4 GB supondría leer 4 GB en la pestaña, lo que falla o se cuelga en la mayoría de los dispositivos.
Por eso los archivos pasan por implementaciones en streaming de SHA-1, SHA-256, SHA-384, SHA-512 y CRC32 (y spark-md5 para MD5) que consumen el archivo de 4 MB en 4 MB, leyendo cada fragmento directamente del disco con File.slice. El uso de memoria se mantiene plano sea cual sea el tamaño del archivo. Las implementaciones se prueban byte a byte con el módulo crypto de Node, basado en OpenSSL, con longitudes límite y datos aleatorios.
En un portátil reciente, cuenta con unos 150–250 MB por segundo, muy a grandes rasgos, para MD5, SHA-1 o SHA-256, y alrededor de un tercio de eso para SHA-384 y SHA-512, cuya aritmética de 64 bits tiene que emular JavaScript con piezas de 32 bits. Todos los algoritmos seleccionados comparten una sola pasada por el archivo, así que desmarcar los que no necesites es la forma más fácil de acelerarlo.
Cómo leer un archivo de checksums
Las distribuciones de Linux y los proyectos de código abierto publican archivos como SHA256SUMS. Cada línea es el digest en hexadecimal, dos espacios y el nombre del archivo, que es el formato que produce sha256sum. shasum de macOS usa el mismo formato; las herramientas de estilo BSD escriben en cambio SHA256 (file.iso) = digest.
Puedes pegar cualquiera de los dos estilos de línea en el campo de comparación: la herramienta extrae el digest e ignora el resto, igual que las mayúsculas, los espacios y los dos puntos. Cuando un proyecto también publica un archivo de firma (SHA256SUMS.gpg o .sig), verificar esa firma con la clave del proyecto es lo que demuestra que la propia lista de checksums no ha sido sustituida.
Herramientas gratis relacionadas
- Generador de bcrypt — Genera el hash bcrypt de una contraseña con el coste que elijas, comprueba una contraseña con un hash bcrypt y descubre qué significa cada parte del hash.
- Codificador / decodificador Base64 — Codifica texto o archivos en Base64, convierte imágenes en data URI con fragmentos CSS e <img>, y decodifica Base64 a un archivo con vista previa. Nada sale de tu navegador.
- Generador de contraseñas — Genera una contraseña aleatoria segura, una frase de contraseña fácil de recordar o un PIN. Funciona por completo en tu navegador: no se envía ni se guarda nada.
- Generador TOTP — Convierte un secreto Base32 en códigos 2FA en vivo con cuenta atrás, crea un código QR otpauth:// para apps de autenticación o lee una URI existente.