Guía
Cómo verificar un SHA-256 en Windows, macOS o Linux
Verifica el SHA-256 de un archivo con PowerShell, shasum o sha256sum y entiende qué demuestra una coincidencia y qué no puede demostrar.
por Tools in a Tab · Publicado el · Actualizada
Respuesta breve
Para verificar un SHA-256, calcula el hash del archivo con Get-FileHash en
Windows, shasum -a 256 en macOS o sha256sum en Linux. Compara los 64
caracteres hexadecimales con un checksum obtenido de una fuente fiable. Si
coinciden, los bytes concuerdan con esa referencia; la coincidencia no demuestra
por sí sola quién publicó el archivo.
Ejemplo reproducible con texto
El texto ASCII abc, sin salto de línea al final, produce:
ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad
El digest tiene 64 caracteres hexadecimales, es decir, 256 bits. Puedes comprobar el vector en el generador SHA-256, que convierte texto UTF-8 localmente en el navegador.
Un espacio, una mayúscula o un salto de línea produce otro resultado. Si una comparación falla, verifica primero qué bytes entraron realmente: copiar texto desde una terminal o un editor puede añadir un final de línea invisible.
Verificar un archivo pequeño en el navegador
Para un archivo de hasta 20 MiB (20.971.520 bytes), abre el verificador SHA-256 de archivos, que abre el modo Archivo, elige la descarga y pega el hash fiable en SHA-256 esperado. Pulsa Calcular SHA-256 para leer los bytes originales localmente y comparar los 64 dígitos. La herramienta no sube nada. No pegues un archivo binario en modo Texto.
Web Crypto necesita la entrada completa en memoria. Para archivos mayores, utiliza uno de los comandos del sistema siguientes. Una coincidencia sigue sin demostrar que el archivo sea seguro.
Verificar SHA-256 en Windows con PowerShell
Abre PowerShell en la carpeta que contiene la descarga y ejecuta:
Get-FileHash -LiteralPath '.\archivo.zip' -Algorithm SHA256
PowerShell muestra el algoritmo, el hash de 64 caracteres y la ruta. La
documentación de Get-FileHash
confirma que SHA-256 es el valor predeterminado, pero escribir
-Algorithm SHA256 deja el comando explícito y fácil de revisar.
Verificar SHA-256 en macOS
Abre Terminal, entra en la carpeta del archivo y ejecuta:
shasum -a 256 archivo.zip
La opción -a 256 es importante porque shasum sin ella usa SHA-1 de forma
predeterminada. El
manual de shasum documenta la selección del
algoritmo y el modo de comprobación.
Verificar SHA-256 en Linux
En un sistema con GNU coreutils, ejecuta:
sha256sum archivo.zip
GNU también documenta cksum -a sha2 -l 256 archivo.zip como interfaz general
más reciente. El conocido sha256sum sigue siendo un comando directo para
SHA-256; ambos aparecen en el
manual de GNU Coreutils.
Comprobar automáticamente un archivo SHA256SUMS
Si el publicador ofrece un archivo SHA256SUMS fiable, sha256sum -c lee sus
hashes esperados y nombres de archivo y comprueba los archivos enumerados. No
pases el ZIP o la ISO descargada a -c: esa opción espera una lista de
checksums, no los datos sobre los que calcular el hash.
Ejecuta la comprobación desde el directorio que contiene los archivos nombrados en la lista. Sustituye esta ruta de ejemplo por tu carpeta de descargas:
(cd '/ruta/a/descargas' && sha256sum -c SHA256SUMS)
En macOS, el equivalente con shasum es:
(cd '/ruta/a/descargas' && shasum -a 256 -c SHA256SUMS)
Por qué puede fallar una ruta absoluta a la lista
sha256sum -c /ruta/a/descargas/SHA256SUMS localiza la lista, pero no
cambia el directorio de trabajo. Una entrada relativa como archivo.zip se
resuelve desde el directorio actual, no desde la carpeta que contiene
SHA256SUMS. Los comandos entre paréntesis cambian de carpeta solo para esa
comprobación.
Una ruta absoluta dentro de la lista se usa tal como está escrita; cambiar de carpeta no la reubica. Revisa las rutas y conserva la estructura prevista por el publicador. En los comandos de shell, entrecomilla las rutas con espacios. No añadas esas comillas a los nombres dentro de la lista: pasarían a formar parte del nombre del archivo.
Reproducir una comprobación con tres bytes
En un directorio de pruebas vacío, crea un archivo que contenga exactamente
abc, sin salto de línea:
printf 'abc' > 'sample file.txt'
Guarda esta única línea como SHA256SUMS, con dos espacios entre el hash
y sample file.txt, y un salto de línea al final:
ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad sample file.txt
Ejecuta sha256sum -c SHA256SUMS (o shasum -a 256 -c SHA256SUMS). El
resultado es sample file.txt: OK. Si añades un salto de línea al archivo de
datos, la comparación falla. Este ejemplo demuestra el procedimiento: generar
un hash nuevo de una descarga no fiable no crea una referencia fiable para ella.
Entender los fallos antes de repetir
OK: este archivo coincide con su digest de la lista. Confirma que la lista procede de una fuente fiable.FAILED: los bytes no coinciden. Revisa la versión, descarga completa y hash esperado; no sustituyas el hash de referencia para que pase.No such file or directory: no se pudo abrir un archivo en esa ruta. Comprueba el directorio actual y el nombre, incluidos sus espacios.no properly formatted checksum lines found: la entrada no es una lista de checksums utilizable. Busca un hash sin nombre de archivo, HTML copiado o un archivo equivocado.
En scripts, usa el código de salida: 0 indica éxito y un valor distinto
indica fallo. En GNU, --strict también hace fallar las líneas mal formadas
cuando la lista contiene otras entradas válidas. Evita --ignore-missing al
comprobar una descarga completa y no interpretes una sola línea OK como
prueba de que todos los archivos pasaron. Las
opciones de GNU para checksums
documentan estos controles. El texto de los errores puede variar según la
implementación y el idioma.
Comparar el resultado completo
Compara los 64 caracteres sin modificar el archivo. Las mayúsculas del texto hexadecimal no cambian el valor, pero cualquier diferencia en un dígito sí. No compares solo el principio o el final ni pegues un archivo binario en un generador de texto: la codificación o la conversión de finales de línea producirían bytes distintos.
Integridad no es autenticidad
SHA-256 forma parte del estándar FIPS 180-4 de NIST y permite detectar cambios al comparar digests. Para que la comprobación tenga valor, el hash esperado debe llegar por un canal de confianza: una página HTTPS oficial, una firma digital verificable o un manifiesto autenticado.
Si el archivo y el checksum proceden del mismo lugar comprometido, la comparación solo confirma que coinciden entre sí. No identifica al autor ni certifica que el contenido sea seguro.
Procedimiento breve
- Obtén el checksum desde la fuente oficial y conserva sus 64 caracteres.
- Calcula SHA-256 sobre el archivo exacto, sin abrirlo ni convertirlo.
- Compara todo el digest, no solo el principio o el final.
- Si no coincide, no uses el archivo: vuelve a descargarlo desde una fuente conocida e investiga la diferencia.
- Si necesitas autenticar al publicador, verifica además su firma digital.
Así separas dos preguntas distintas: «¿son los mismos bytes?» y «¿puedo confiar en quién los distribuye?».