Generador de hash: SHA-256, SHA-512, SHA-1, MD5
Escribe un texto o elige un archivo: el generador de hash calcula al instante las sumas de comprobación SHA-256, SHA-384, SHA-512 y SHA-1 y, si lo pides, MD5. Pega un hash esperado (por ejemplo, el de una página de descarga) para compararlo directamente. Todo se ejecuta en tu navegador: los archivos nunca se suben.
Cómo se calcula
Una función hash convierte datos de cualquier longitud en un valor de longitud fija: el hash, resumen (digest) o suma de comprobación. La misma entrada siempre da el mismo hash; cambiar un solo carácter produce uno completamente distinto. A partir del hash no se puede reconstruir la entrada.
Los algoritmos
- SHA-256 (256 bits, 64 caracteres hexadecimales): el estándar actual para sumas de comprobación de descargas, Git, certificados y blockchains. Está definido, igual que SHA-384 y SHA-512, en NIST FIPS 180-4.
- SHA-384 y SHA-512 (96 y 128 caracteres hexadecimales): miembros más largos de la familia SHA-2; en equipos de 64 bits, SHA-512 suele ser incluso más rápido que SHA-256.
- SHA-1 (40 caracteres hexadecimales): se considera roto desde el primer ataque de colisión práctico en 2017. El NIST lo ha prohibido para firmas digitales; aún aparece como simple suma de comprobación, por ejemplo en versiones antiguas de Git.
- MD5 (32 caracteres hexadecimales): roto desde 2004 (RFC 6151). Se pueden crear en segundos dos archivos distintos con el mismo MD5. Solo sirve como suma de comprobación contra errores de transmisión accidentales. Como los navegadores no incluyen MD5, la herramienta usa su propia implementación, verificada con los valores de prueba del RFC 1321.
Verificar una descarga
Muchos proyectos publican una suma de comprobación SHA-256 junto al archivo. Selecciona aquí el archivo y pega el valor publicado en «Comparar con el hash esperado»: si coincide, el archivo ha llegado sin cambios. Las mayúsculas, los espacios y los dos puntos del valor esperado no importan. En Windows puedes hacer lo mismo con certutil -hashfile archivo SHA256, y en macOS y Linux con shasum -a 256 archivo o sha256sum archivo.
¿Por qué mi hash es distinto?
Normalmente por caracteres invisibles: echo texto | sha256sum calcula el hash del texto con salto de línea, echo -n sin él. Los finales de línea de Windows (CR LF en lugar de LF), una marca de orden de bytes (BOM) o una codificación distinta de UTF-8 también cambian el hash.
Hashes y contraseñas
Los hashes rápidos como SHA-256 o MD5 no son adecuados para guardar contraseñas: un atacante puede probar miles de millones de combinaciones por segundo. Usa en su lugar algoritmos lentos y con sal, como Argon2, scrypt o bcrypt.
Los hashes se calculan con la API Web Crypto de tu navegador. Tu texto, tu archivo y el valor de comparación no se envían, no se guardan y no se escriben en la barra de direcciones.
Preguntas frecuentes
¿Cómo obtengo el hash SHA-256 de un archivo?
Elige el archivo en «O calcula el hash de un archivo»: el valor SHA-256 aparece al instante arriba del resultado. El archivo solo se lee dentro de tu navegador y nunca se sube.
¿Se puede descifrar un hash?
No. Un hash no es un cifrado, sino una función unidireccional. Sin embargo, con entradas cortas o habituales (como contraseñas débiles), un atacante puede encontrar una entrada que coincida probando o con tablas precalculadas.
¿MD5 sigue siendo seguro?
No. MD5 está roto desde 2004; en un ordenador normal se generan colisiones en segundos. Para seguridad, usa SHA-256 o algo más robusto. Como suma de comprobación contra errores de transmisión accidentales, MD5 sigue cumpliendo.
¿Por qué mi hash no coincide con el de la línea de comandos?
La causa más frecuente es un salto de línea: echo "texto" | sha256sum añade un \n. Usa echo -n o printf. Los finales de línea distintos (CR LF de Windows) o las codificaciones de caracteres también cambian el hash.
¿Qué diferencia hay entre la salida hexadecimal y la Base64?
Es el mismo hash escrito de otra forma: el hexadecimal usa 2 caracteres por byte (SHA-256 = 64 caracteres) y Base64 es más corto (44 caracteres). Base64 se usa, por ejemplo, en Subresource Integrity (integrity="sha256-…").
Fuentes y base legal
- FIPS 180-4: NIST FIPS 180-4 – Secure Hash Standard (SHS)
- NIST – Example values for SHA-1, SHA-256, SHA-384, SHA-512 (test vectors)
- RFC 1321: RFC 1321 – The MD5 Message-Digest Algorithm (Appendix A.5 test suite)
- RFC 6151: RFC 6151 – Updated Security Considerations for MD5 and HMAC-MD5
- NIST – Transitioning away from SHA-1 (SP 800-131A Rev. 2)
- MDN Web Docs – SubtleCrypto.digest()
Última actualización:
Herramientas relacionadas
- Codificar y decodificar Base64Codifica y decodifica Base64 y Base64url con UTF-8 correcto, y también URL encode/decode (codificación por porcentaje). Errores claros, todo en tu navegador.
- Generador de contraseñasGenera contraseñas aleatorias seguras y frases de contraseña memorables con entropía en bits, directamente en tu navegador: nada se envía ni se guarda.
- Generador de UUID: crea y valida UUID v4 y v7Genera UUID en línea: versión 4 (aleatoria) o versión 7 (ordenada por tiempo), hasta 1000 a la vez. Valida un UUID y lee su versión, variante y fecha.
- Probar regex: tester de expresiones regularesPrueba expresiones regulares de JavaScript en vivo: coincidencias resaltadas, grupos de captura en tabla y el patrón explicado. Gratis, sin subir nada.
- Validar y calcular un dígito de LuhnValida números con el algoritmo de Luhn (módulo 10, ISO/IEC 7812-1) o calcula el dígito de control: solo comprueba el formato, en tu navegador.
- Cuál es mi dirección IPMuestra al instante tu dirección IP pública, detecta si es IPv4 o IPv6 y explica la diferencia. Gratis: tu IP no se guarda.