TechBigs
Volver al blog
ChecksumAPKSeguridad

Cómo verificar el checksum SHA-256 de un APK en Android y en el ordenador

Comprueba el hash SHA-256 de un APK con certutil, PowerShell, shasum o sha256sum, o en el propio móvil, y entiende qué demuestra una coincidencia.

Equipo editorial de TechBigs2026-10-097 min min de lectura

Versiones en otros idiomas

Un checksum SHA-256 es una huella de 64 caracteres de un archivo. Basta con cambiar un solo byte para que la huella cambie por completo. Si calculas el hash del APK que has descargado y coincide con el valor que publicó la fuente, sabes que tienes exactamente el mismo archivo del que ellos calcularon el hash.

Sirve para detectar descargas cortadas, transferencias dañadas y archivos sustituidos. También tiene límites claros, que esta guía explica después de los pasos.

Qué necesitas antes de empezar

  • El archivo tal cual se descargó. Cambiarle el nombre no altera el hash. Editarlo, volver a comprimirlo o volver a firmarlo sí.
  • El valor SHA-256 esperado, publicado por la fuente del archivo, idealmente en una página que hayas abierto directamente por HTTPS.
  • Saber con certeza a qué archivo se refiere ese valor. Un contenedor .xapk, .apks o .apkm tiene un hash distinto al de los .apk que lleva dentro. Consulta APK, XAPK, APKS y APKM explicados si no sabes cuál tienes.

Tanto si sacaste la versión del catálogo de apps o de juegos de TechBigs como de cualquier otro sitio, el método es el mismo.

En Windows: certutil o PowerShell

Con certutil (Símbolo del sistema):

  1. Abre en el Explorador de archivos la carpeta donde está el archivo.
  2. Haz clic en la barra de direcciones, escribe cmd y pulsa Intro. Se abre un Símbolo del sistema en esa carpeta.
  3. Ejecuta:
certutil -hashfile "game.apk" SHA256
  1. La salida muestra una línea como SHA256 hash of game.apk: (o su equivalente en el idioma de tu Windows), luego el hash y luego un mensaje de que el comando terminó. Las versiones antiguas de Windows muestran el hash con espacios entre cada par de caracteres; quítalos antes de comparar.

Incluye siempre SHA256. Sin él, certutil usa SHA-1 por defecto.

Con PowerShell:

Get-FileHash .\game.apk -Algorithm SHA256

Para que PowerShell haga la comparación por ti, ejecuta:

(Get-FileHash .\game.apk -Algorithm SHA256).Hash -eq "PEGA_EL_HASH_ESPERADO"

Devuelve True o False. La comparación -eq no distingue mayúsculas de minúsculas, así que da igual cómo haya escrito las letras la fuente.

En macOS: shasum

  1. Abre Terminal y ve a la carpeta: cd ~/Downloads
  2. Ejecuta:
shasum -a 256 game.apk

La salida es el hash, dos espacios y el nombre del archivo. No olvides -a 256, porque sin él shasum calcula SHA-1.

Para una comparación automática:

echo "PEGA_EL_HASH_ESPERADO  game.apk" | shasum -a 256 -c

Verás game.apk: OK o game.apk: FAILED. Fíjate en los dos espacios entre el hash y el nombre del archivo.

En Linux: sha256sum

sha256sum game.apk

La comprobación automática funciona igual:

echo "PEGA_EL_HASH_ESPERADO  game.apk" | sha256sum -c

Si la fuente ofrece un archivo .sha256 con el hash y el nombre del archivo, ponlo junto al APK y ejecuta sha256sum -c seguido del nombre de ese archivo.

En el propio teléfono Android

La app Archivos estándar de Android no tiene un botón de checksum, así que hay tres vías prácticas:

  1. Un gestor de archivos que muestre hashes. Algunos gestores de archivos indican los valores MD5, SHA-1 y SHA-256 en las propiedades o los detalles de un archivo. Asegúrate de elegir SHA-256. Una herramienta de hash solo necesita acceso al archivo que eliges, no «Acceso a todos los archivos». La guía de permisos especiales explica por qué importa esa diferencia.
  2. ADB desde un ordenador. Si ya usas la depuración USB, ejecuta adb shell sha256sum /sdcard/Download/game.apk. Las versiones actuales de Android incluyen el comando sha256sum en sus herramientas de sistema integradas. Desactiva la depuración USB cuando termines.
  3. Copia el archivo a un ordenador y usa uno de los comandos anteriores. Suele ser la opción más sencilla.

Cómo comparar bien

  • Compara los 64 caracteres, no solo los primeros y los últimos. Las comparaciones automáticas de arriba eliminan las dudas.
  • Las mayúsculas no importan. A–F y a–f son los mismos dígitos hexadecimales.
  • Revisa la longitud. MD5 tiene 32 caracteres hexadecimales, SHA-1 tiene 40 y SHA-256 tiene 64. Si las longitudes no coinciden, estás comparando algoritmos distintos.
  • Cuidado con espacios o saltos de línea que se cuelan al copiar el valor de una página web.

Qué demuestra una coincidencia

Un SHA-256 que coincide te dice una sola cosa: el archivo de tu dispositivo es idéntico, bit a bit, al archivo del que el editor calculó el hash. La descarga no se cortó, la transferencia no lo dañó y ningún espejo, caché o proxy por el camino lo cambió por otro.

Qué no demuestra una coincidencia

  • No demuestra que la app sea inofensiva. Un archivo malicioso tiene un hash perfectamente válido. Un checksum identifica un archivo; no lo juzga.
  • No demuestra quién creó el archivo. Si la misma página sirve el archivo y su hash, quien controle esa página puede cambiar las dos cosas. Un checksum te protege más cuando llega por un canal de confianza distinto al de la descarga.
  • No demuestra la clave de firma. Android verifica él mismo las firmas de los APK. Todo APK debe estar firmado, y una actualización debe llevar la misma firma que la versión ya instalada. Las versiones modificadas se vuelven a firmar con otra clave; por eso no se pueden instalar encima de la versión oficial y hay que desinstalar primero, con la pérdida de los datos locales. Que el checksum coincida no dice nada sobre qué clave firmó el archivo.
  • No demuestra que la app vaya a funcionar en tu móvil. La arquitectura de la CPU y la versión mínima de Android siguen importando; consulta cómo ver tu versión de Android y la arquitectura de la CPU.

Si el hash no coincide

  1. Comprueba que has calculado el hash del archivo correcto. Busca duplicados como game (1).apk o descargas a medias que terminan en .crdownload o .part.
  2. Compara el tamaño del archivo con el que indica la fuente.
  3. Confirma que el valor esperado corresponde a la misma versión y formato. El hash de un XAPK no coincidirá con el del APK que contiene.
  4. Borra el archivo y descárgalo de nuevo con una conexión estable.
  5. Si sigue sin coincidir, no lo instales. No hay una forma segura de «reparar» un archivo que difiere del publicado.

Si el hash coincide pero la instalación sigue fallando, la guía para solucionar «App no instalada» trata los conflictos de firma, los errores de análisis y los problemas de espacio.

Mantén activas las demás capas de seguridad

  • Mantén Google Play Protect activado y lee sus avisos. Que el checksum coincida no anula un aviso de Play Protect sobre el comportamiento de la app.
  • Concede «Instalar aplicaciones desconocidas» solo al navegador o gestor de archivos que usaste, y desactívalo después.
  • Tras instalar, revisa qué pide la app. Un juego que solicita accesibilidad o acceso a notificaciones es una señal de alarma, coincida o no su checksum.

Preguntas frecuentes

¿Sirve un checksum MD5 o SHA-1? Ambos siguen detectando daños accidentales, pero las colisiones deliberadas son factibles en MD5 y se han demostrado en SHA-1. Usa SHA-256 cuando la fuente lo ofrezca.

¿Cambiar el nombre del APK cambia su checksum? No. El hash se calcula sobre el contenido del archivo, no sobre su nombre.

¿Y si la página de descarga no muestra ningún checksum? Entonces no hay nada con lo que comparar. Apóyate en las demás capas: mantén Play Protect activado, revisa los permisos y desconfía de cualquier app que pida más de lo que su función necesita.

Más artículos