- ¿Qué hash debo usar: MD5, SHA-1 o SHA-256?
- Para verificar una descarga o un archivo que controlas, cualquiera de los tres sirve: todos son tan sensibles que un solo bit cambiado altera el resumen por completo. Para cualquier cosa sensible en seguridad (versiones firmadas, certificados, comprobaciones contra manipulación), usa SHA-256. MD5 y SHA-1 se consideran rotos frente a ataques de colisión: un atacante que controla el contenido del archivo puede construir dos archivos distintos con el mismo MD5 o SHA-1, así que ya no sirven para demostrar que “este archivo es el que firmó el proveedor”. SHA-256 no tiene ataques de colisión conocidos.
- ¿Por qué se muestran los tres hashes a la vez?
- La mayoría de los archivos de sumas de verificación publican solo uno: hoy normalmente SHA-256, a veces SHA-1 o MD5 por motivos heredados. Calcular los tres a la vez significa que no necesitas saber de antemano cuál publicó el proveedor; pega el que indiquen y la herramienta elige el algoritmo correcto para comparar según la longitud.
- ¿Se suben mis archivos a algún sitio?
- No. El cálculo se hace por completo en tu navegador con la Web Crypto API (para SHA-1 y SHA-256) y una implementación de MD5 en JavaScript puro. Nada se envía por la red, nada se registra, nada se guarda. Cierra la pestaña y el archivo desaparece de la memoria de la herramienta.
- ¿Cuál es el archivo más grande que puedo verificar?
- La herramienta carga el archivo en memoria antes de calcular el hash, así que el límite práctico es lo que tu navegador pueda meter en un solo ArrayBuffer: normalmente 1-2 GB en una computadora moderna, menos en el móvil. Para archivos más grandes conviene un hash por bloques (un trozo cada vez), que la mayoría de las herramientas de escritorio (sha256sum, certutil, Get-FileHash) hacen de serie.
- ¿Cómo consigo el hash oficial para comparar?
- La mayoría de los proyectos publican archivos de hash junto a sus descargas. Busca un archivo que termine en .sha256, .sha256sum, SHA256SUMS, .md5 o CHECKSUMS en la misma carpeta que la descarga. Ábrelo con un editor de texto y verás el resumen hexadecimal seguido del nombre del archivo. Pega ese resumen en el campo de hash esperado.
- Los hashes no coinciden, ¿y ahora qué?
- Hay tres posibilidades, de más a menos probable: el archivo se dañó por el camino (vuelve a descargarlo desde un espejo estable), tienes una versión del archivo distinta de la que describe el hash (revisa la fecha de publicación y el número de versión) o, en el peor caso, el archivo ha sido manipulado (vuelve a descargarlo desde el sitio HTTPS verificado del proveedor y compara con el hash que firman con PGP). No ejecutes un programa cuyo hash no coincida.
- ¿Por qué el mismo archivo da un hash distinto en otra máquina?
- No debería: esa es la definición de un hash. Si ves resultados distintos, la causa más común es que una de las máquinas descargó un archivo ligeramente distinto (saltos de línea diferentes en archivos de texto, un espejo que sirve una versión antigua, una descarga parcial que se reanudó). Vuelve a descargarlo y a calcular el hash para confirmarlo.
- ¿Puedo usarlo para comprobar que un archivo que envié llegó igual al otro lado?
- Sí, es el uso típico. Calcula el hash del archivo antes de enviarlo, envía el archivo y el hash por separado, y pide a quien lo recibe que calcule el hash en su equipo y compare. Si coinciden, el archivo es idéntico byte a byte. Es exactamente lo que hacen por debajo los gestores de paquetes (apt, yum, brew, pip) para verificar cada descarga.