TechBigs
Voltar ao blog
ChecksumAPKSegurança

Como verificar o checksum SHA-256 de um APK no Android e no computador

Confira o hash SHA-256 de um APK com certutil, PowerShell, shasum ou sha256sum, ou no próprio celular, e entenda o que uma correspondência prova.

Equipe editorial do TechBigs2026-10-097 min min de leitura

Versões em outros idiomas

Um checksum SHA-256 é uma impressão digital de 64 caracteres de um arquivo. Basta mudar um único byte para a impressão digital mudar por completo. Se você calcula o hash do APK que baixou e ele bate com o valor publicado pela fonte, você sabe que está com exatamente o mesmo arquivo do qual eles calcularam o hash.

Isso serve para pegar downloads interrompidos, transferências corrompidas e arquivos trocados. Também tem limites claros, que este guia explica depois do passo a passo.

O que você precisa antes de começar

  • O arquivo exatamente como foi baixado. Renomear o arquivo não muda o hash. Editar, recompactar ou assinar de novo muda.
  • O valor SHA-256 esperado, publicado pela fonte do arquivo, de preferência numa página que você abriu diretamente via HTTPS.
  • Certeza de a qual arquivo o valor se refere. Um contêiner .xapk, .apks ou .apkm tem um hash diferente dos .apk que estão dentro dele. Veja APK, XAPK, APKS e APKM explicados se não tiver certeza de qual você tem.

Não importa se você pegou a versão no catálogo de apps ou de jogos do TechBigs ou em qualquer outro lugar: o método é o mesmo.

No Windows: certutil ou PowerShell

Com o certutil (Prompt de Comando):

  1. Abra no Explorador de Arquivos a pasta onde está o arquivo.
  2. Clique na barra de endereço, digite cmd e aperte Enter. Um Prompt de Comando abre nessa pasta.
  3. Execute:
certutil -hashfile "game.apk" SHA256
  1. A saída mostra uma linha como SHA256 hash of game.apk: (ou o equivalente no idioma do seu Windows), depois o hash e depois uma mensagem de conclusão. Versões antigas do Windows mostram o hash com espaços entre cada par de caracteres; tire os espaços antes de comparar.

Sempre inclua SHA256. Sem isso, o certutil usa SHA-1 por padrão.

Com o PowerShell:

Get-FileHash .\game.apk -Algorithm SHA256

Para o PowerShell fazer a comparação por você, execute:

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

Ele responde True ou False. A comparação -eq ignora maiúsculas e minúsculas, então não importa como a fonte escreveu as letras.

No macOS: shasum

  1. Abra o Terminal e vá até a pasta: cd ~/Downloads
  2. Execute:
shasum -a 256 game.apk

A saída é o hash, dois espaços e o nome do arquivo. Não esqueça o -a 256, porque sem ele o shasum calcula SHA-1.

Para uma comparação automática:

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

Você vai ver game.apk: OK ou game.apk: FAILED. Repare nos dois espaços entre o hash e o nome do arquivo.

No Linux: sha256sum

sha256sum game.apk

A verificação automática funciona do mesmo jeito:

echo "COLE_O_HASH_ESPERADO  game.apk" | sha256sum -c

Se a fonte fornecer um arquivo .sha256 com o hash e o nome do arquivo, coloque-o ao lado do APK e rode sha256sum -c seguido do nome desse arquivo.

No próprio celular Android

O app Arquivos padrão do Android não tem botão de checksum, então há três caminhos práticos:

  1. Um gerenciador de arquivos que mostre hashes. Alguns gerenciadores de arquivos exibem os valores MD5, SHA-1 e SHA-256 nas propriedades ou nos detalhes de um arquivo. Escolha SHA-256. Uma ferramenta de hash só precisa de acesso ao arquivo que você seleciona, e não de "Acesso a todos os arquivos". O guia de permissões especiais explica por que essa diferença importa.
  2. ADB a partir de um computador. Se você já usa a depuração USB, rode adb shell sha256sum /sdcard/Download/game.apk. As versões atuais do Android trazem o comando sha256sum nas ferramentas de sistema integradas. Desligue a depuração USB quando terminar.
  3. Copie o arquivo para um computador e use um dos comandos acima. Muitas vezes é a opção mais simples.

Como comparar do jeito certo

  • Compare os 64 caracteres, não só os primeiros e os últimos. As comparações automáticas acima acabam com a dúvida.
  • Maiúsculas e minúsculas não importam. A–F e a–f são os mesmos dígitos hexadecimais.
  • Confira o tamanho. MD5 tem 32 caracteres hexadecimais, SHA-1 tem 40 e SHA-256 tem 64. Se os tamanhos forem diferentes, você está comparando algoritmos diferentes.
  • Atenção a espaços ou quebras de linha que vêm junto ao copiar o valor de uma página.

O que uma correspondência prova

Um SHA-256 que bate diz uma única coisa: o arquivo no seu aparelho é idêntico, bit a bit, ao arquivo do qual quem publicou calculou o hash. O download não foi interrompido, a transferência não o corrompeu e nenhum espelho, cache ou proxy no caminho o trocou por outro.

O que uma correspondência não prova

  • Não prova que o app é inofensivo. Um arquivo malicioso tem um hash perfeitamente válido. Um checksum identifica um arquivo; não o julga.
  • Não prova quem criou o arquivo. Se a mesma página entrega o arquivo e o hash, quem controla essa página pode mudar os dois. Um checksum protege mais quando vem por um canal confiável separado do download.
  • Não prova a chave de assinatura. O próprio Android verifica as assinaturas dos APKs. Todo APK precisa ser assinado, e uma atualização precisa ter a mesma assinatura da versão já instalada. Versões modificadas são assinadas de novo com outra chave; por isso não instalam por cima da versão oficial, e é preciso desinstalar antes, perdendo os dados locais. Um checksum que bate não diz nada sobre qual chave assinou o arquivo.
  • Não prova que o app vai rodar no seu celular. A arquitetura da CPU e a versão mínima do Android continuam importando; veja como descobrir a versão do Android e a arquitetura da CPU.

Se o hash não bater

  1. Confirme que calculou o hash do arquivo certo. Procure duplicatas como game (1).apk ou downloads incompletos terminados em .crdownload ou .part.
  2. Compare o tamanho do arquivo com o informado pela fonte.
  3. Confirme que o valor esperado é da mesma versão e do mesmo formato. O hash de um XAPK não vai bater com o do APK que está dentro dele.
  4. Apague o arquivo e baixe de novo com uma conexão estável.
  5. Se ainda assim não bater, não instale. Não existe jeito seguro de "consertar" um arquivo diferente do publicado.

Se o hash bate mas a instalação continua falhando, o guia para resolver "App não instalado" cobre conflitos de assinatura, erros de análise do pacote e falta de espaço.

Mantenha as outras camadas de segurança ligadas

  • Mantenha o Google Play Protect ligado e leia os avisos dele. Um checksum que bate não anula um aviso do Play Protect sobre o comportamento do app.
  • Libere "Instalar apps desconhecidos" só para o navegador ou gerenciador de arquivos que você usou, e desligue depois.
  • Depois de instalar, veja o que o app pede. Um jogo pedindo acessibilidade ou acesso a notificações é sinal de alerta, com ou sem checksum batendo.

Perguntas frequentes

Um checksum MD5 ou SHA-1 é suficiente? Os dois ainda detectam corrupção acidental, mas colisões deliberadas são viáveis no MD5 e já foram demonstradas no SHA-1. Prefira SHA-256 quando a fonte oferecer.

Renomear o APK muda o checksum? Não. O hash é calculado sobre o conteúdo do arquivo, não sobre o nome.

E se a página de download não mostrar checksum nenhum? Aí não há com o que comparar. Conte com as outras camadas: mantenha o Play Protect ligado, revise as permissões e desconfie de qualquer app que peça mais do que a função dele exige.

Mais artigos