ToolsOps

Seguridad

Calculadora de hash y checksum (SHA-256, MD5, SHA-512)

Hashea texto o archivos en tu navegador. La calculadora soporta SHA-256, SHA-1, SHA-384, SHA-512 y MD5, con salida en hex o base64. Incluye un campo para pegar el checksum esperado y verificar si coincide, lo que es útil al comprobar descargas oficiales (.iso, imágenes Docker, releases firmados). Los datos que introduces no salen de tu navegador: todo se calcula localmente, los SHA-* con Web Crypto API y MD5 con JavaScript local.

Origen
AlgoritmoSelecciona el algoritmo de hash

32 bytes (64 caracteres hex). El estándar actual para integridad y firma. Es lo que publican la mayoría de mirrors y release notes.

Para guardar contraseñas no uses un hash simple: usa bcrypt, scrypt o argon2 con un coste explícito. SHA-256 directo es demasiado rápido y permite ataques por diccionario.

0 caracteres · 0 bytes UTF-8

Se codifica como UTF-8 antes de hashear. El cálculo ocurre en tu navegador.

Hash calculado
Codificación
Mayúsculas / minúsculas
Aún no hay hash. Introduce texto o selecciona un archivo.

Se ignoran espacios, saltos de línea y mayúsculas/minúsculas. La comparación ocurre en local; no se envía a ningún servidor.

Pega un hash esperado para verificar la integridad.

Solo se incluye en la URL el algoritmo, modo, codificación y mayúsculas. El texto, el archivo y el hash esperado NUNCA se ponen en la URL.

Cómo verificar la integridad de una descarga

Una función hash convierte una entrada de cualquier tamaño en una salida de longitud fija (16 bytes para MD5, 32 para SHA-256). El mismo input produce siempre la misma salida y un cambio mínimo en el input produce una salida completamente distinta (efecto avalancha). Por eso un hash sirve como huella digital del contenido.

El caso de uso más habitual: la página de descarga de una distro publica el SHA-256 del .iso. Descargas el archivo, calculas su SHA-256 en local y verificas que coincide con el publicado. Si coincide, el archivo está íntegro. Si no, está corrupto, lo han alterado o has descargado la versión equivocada.

Algoritmos disponibles y para qué usar cada uno.
AlgoritmoLongitud digestUso recomendado
MD516 bytes (32 hex)Checksums no-security. Verificar corrupción accidental. NO usar para nada que requiera seguridad criptográfica.
SHA-120 bytes (40 hex)Compatibilidad legacy (Git interno, sistemas antiguos). NO usar para firma o autenticación nueva.
SHA-25632 bytes (64 hex)Estándar actual para integridad y firma. Recomendado por defecto.
SHA-38448 bytes (96 hex)Variante de SHA-2 usada en TLS y algunos perfiles de Subresource Integrity.
SHA-51264 bytes (128 hex)Variante más larga de SHA-2. Común en distros Linux y firmas GPG modernas.

Privacidad y cálculo local

Los datos que introduces no salen de tu navegador. Los algoritmos SHA-* se calculan localmente con Web Crypto API; MD5 se calcula con código JavaScript local. Ningún input de texto, archivo seleccionado ni checksum esperado se envía al servidor. Puedes verificarlo abriendo DevTools en la pestaña Network: no verás ninguna petición que transporte esos datos.

Cuándo NO usar MD5

MD5 está criptográficamente roto desde hace más de una década. Es trivial encontrar colisiones (dos archivos distintos con el mismo MD5). No lo uses para:

  • Verificar integridad cuando un atacante podría manipular el archivo (en ese caso usa SHA-256 mínimo).
  • Almacenar passwords (los hashes simples no sirven; usa bcrypt, scrypt o argon2, nunca SHA ni MD5).
  • Firmar nada.
  • Es razonable solo para detectar corrupción accidental de descargas no-security publicadas con MD5 legacy.

Passwords no se hashean con esta herramienta

Para almacenar contraseñas, ninguna función hash simple es apta, ni siquiera SHA-256 o SHA-512. El motivo: están diseñadas para ser muy rápidas, lo que ayuda al atacante a probar miles de millones de combinaciones por segundo contra un hash robado. Para passwords se usan funciones deliberadamente lentas y con salt obligatorio:

  • bcrypt: estándar histórico, ampliamente disponible.
  • scrypt: requiere memoria, mitiga ataques con hardware especializado.
  • argon2: ganador del Password Hashing Competition de 2015, recomendación actual.

Casos de uso reales

  • Verificar una ISO descargada: pega el SHA-256 publicado por la distro en 'Hash esperado' y suelta el archivo en el dropzone.
  • Comparar dos versiones de un mismo archivo: hashea cada una con SHA-256, compara los digests resultantes.
  • Validar un manifiesto Subresource Integrity: usa SHA-256 o SHA-384 con salida base64 para construir el atributo `integrity`.
  • Detectar corrupción tras una copia: hashea origen y destino con SHA-256, si coincide la copia es bit a bit idéntica.

Ejemplos

  • e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855Cadena vacía con SHA-256
  • ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015adTexto 'abc' con SHA-256
  • 900150983cd24fb0d6963f7d28e17f72Texto 'abc' con MD5
  • Pega el SHA-256 publicado en 'Hash esperado' y arrastra el archivo descargado.Verificar una ISO de Debian
  • Hashea cada versión con SHA-256 y compara los resultados visualmente o con el campo esperado.Comparar dos versiones de un archivo

Preguntas frecuentes

¿Mis datos salen del navegador?
No. Hashes y checksums se calculan en tu navegador con Web Crypto API (SHA-*) o con código JavaScript local (MD5). El texto que escribes, los archivos que arrastras y el checksum esperado nunca se envían a un servidor. Puedes confirmarlo abriendo DevTools en la pestaña Network mientras usas la herramienta: no verás ninguna petición que transporte el input, el archivo ni el checksum.
¿Por qué hay una advertencia en MD5?
MD5 está criptográficamente roto. Hay ataques prácticos para generar colisiones (dos archivos distintos con el mismo MD5). Sigue siendo útil para detectar corrupción accidental en descargas, pero no es seguro para integridad frente a atacantes, ni para hashear passwords, ni para firma. Para esos usos: SHA-256 o superior; para passwords, bcrypt, scrypt o argon2 (no hashes simples).
¿Qué tamaño de archivo puedo hashear?
Depende del navegador, del dispositivo y de la memoria disponible. Los algoritmos SHA-* (Web Crypto API) requieren cargar el archivo completo en memoria, así que un archivo de 200 MB ocupa al menos 200 MB de RAM durante el cálculo. La calculadora muestra una advertencia a partir de 100 MB y un aviso más explícito por encima de 256 MB; en móviles modestos los umbrales se reducen a la mitad. Para archivos muy grandes con regularidad, usa `sha256sum` o `Get-FileHash` en terminal local.
¿Qué diferencia hay entre SHA-1 y SHA-256?
SHA-1 produce 160 bits (40 caracteres hex), SHA-256 produce 256 bits (64 caracteres hex). SHA-1 está deprecated para seguridad criptográfica desde 2017 (Google y CWI publicaron una colisión real). SHA-256 sigue considerándose seguro y es el estándar actual para integridad y firma. Git usa SHA-1 internamente para identificadores de commit por compatibilidad histórica.
¿Para qué sirve el campo 'Hash esperado'?
Es el caso de uso real más común: el fabricante publica el SHA-256 (o MD5) esperado de un archivo (por ejemplo, una ISO de Debian), lo descargas y quieres confirmar que el archivo no se ha corrompido ni se ha alterado. Pegas el hash publicado y el resultado te dice 'Coincide' o 'No coincide'. La comparación ignora espacios y mayúsculas.
¿Por qué los resultados son siempre del mismo tamaño?
Una función hash siempre produce una salida de longitud fija independientemente de la entrada. SHA-256 son siempre 256 bits (64 hex), MD5 siempre 128 bits (32 hex), SHA-512 siempre 512 bits (128 hex). Por eso no se puede usar un hash para 'comprimir' datos: la salida es fija pero la entrada puede ser arbitrariamente grande, lo que hace que sea matemáticamente imposible reconstruir el input.
¿Puedo hashear un password con esta herramienta?
No deberías. Ningún hash simple sirve para almacenar passwords, ni MD5 ni SHA-256 ni SHA-512: están diseñados para ser rápidos, lo que ayuda al atacante a hacer fuerza bruta contra cualquier hash robado. Para passwords usa funciones deliberadamente lentas y con salt obligatorio: bcrypt, scrypt o argon2. Esta calculadora es útil para checksums de archivos y para verificar integridad de descargas, no para password storage.
¿Hex o base64, qué uso?
Hex (default) es el formato estándar en `sha256sum`, releases de software, certificados y la mayoría de docs. Base64 es más compacto y aparece en algunos protocolos, cabeceras HTTP de Subresource Integrity o APIs, o cuando necesitas el digest en una string más corta. La calculadora ofrece toggle entre ambos.