Início
» WINDOWS
»
Verificar integridade de arquivos no Windows com SHA-256
Verificar integridade de arquivos no Windows com SHA-256
Para verificar se um arquivo no Windows corresponde a uma cópia confiável, calcule seu hash SHA-256 e compare o resultado com o valor publicado pelo editor do arquivo. O Windows inclui Get-FileHasho cmdlet e o certutilcomando do PowerShell, portanto, você não precisa de um utilitário de checksum de terceiros. Um hash por si só é apenas uma impressão digital; ele só pode confirmar uma correspondência quando você tem um valor de referência confiável.
O que o hash de um arquivo pode te dizer
Um hash é um valor de comprimento fixo calculado a partir do conteúdo de um arquivo. O nome e a extensão do arquivo não determinam o hash, mas a alteração do conteúdo geralmente o modifica. Se dois arquivos tiverem o mesmo hash SHA-256, para fins práticos de verificação de arquivos, eles terão o mesmo conteúdo. Uma incompatibilidade significa que os bytes são diferentes; isso não revela se a causa foi um download incompleto, uma versão diferente, um disco rígido danificado ou uma alteração intencional.
Para um download, a referência deve vir da página oficial do editor do software e corresponder exatamente ao arquivo, versão e arquitetura que você baixou. Um checksum copiado de um servidor espelho não confiável não garante a autenticidade de um arquivo. Se o editor não publicar um hash, calculá-lo localmente não comprova a autenticidade.
Verificar um arquivo baixado com o PowerShell
Encontre o valor SHA-256 do editor. Abra a página oficial de download e confirme se o checksum corresponde à mesma versão e nome de arquivo. Copie o valor SHA-256 completo para comparação.
Comece com o valor SHA-256 do editor para a versão exata que você baixou.
Abra o PowerShell ou o Terminal do Windows. Pesquise por PowerShell no menu Iniciar ou abra o Terminal a partir dele. Uma sessão de usuário padrão é suficiente para gerar o hash de um arquivo comum; não é necessário acesso de administrador.
Substitua o caminho de exemplo pelo caminho completo do arquivo, mantendo as aspas caso o caminho contenha espaços. O comando imprime o algoritmo, o hash e o caminho. O PowerShell usa SHA-256 por padrão, mas especificar o algoritmo torna a comparação explícita. A Microsoft documenta o comando e seus parâmetros suportados na referência do Get-FileHash .
Execute o comando Get-FileHash com o caminho completo do arquivo que você deseja inspecionar.
Compare o hash completo. Verifique se a saída indica SHA256 e, em seguida, compare cada caractere no valor do hash com o checksum do editor. Letras maiúsculas e minúsculas não importam, mas caracteres omitidos ou extras sim. Você também pode pedir ao PowerShell para retornar um resultado simples:
Um resultado de Truesignifica que o valor calculado localmente corresponde ao valor que você inseriu. FalseSignifica que eles diferem; verifique novamente se você copiou o checksum correto e selecionou o download correspondente antes de tirar conclusões.
Compare o hash local completo com o checksum publicado para o mesmo arquivo.
Lide com uma incompatibilidade com cuidado. Não abra nem instale o arquivo enquanto a incompatibilidade não for explicada. Exclua ou coloque a cópia em quarentena, baixe-a novamente do site oficial do editor e repita a verificação. Confirme se você não está comparando uma versão mais recente, um idioma diferente ou uma versão de processador diferente com uma soma de verificação mais antiga.
Uma incompatibilidade significa que o arquivo é diferente da referência; verifique a versão e faça o download novamente antes de usá-lo.
Use o Prompt de Comando com o CertUtil.
Se preferir usar o Prompt de Comando, execute este comando integrado no Terminal do Windows ou em uma janela do Prompt de Comando:
Leia o hash impresso entre as linhas de saída do comando e compare-o com o valor do mesmo editor. A documentação oficial do CertUtil descreve -hashfilea geração e exibição de um hash criptográfico sobre um arquivo.
E quanto aos arquivos MD5, SHA-1 e SFV?
Páginas de download mais antigas podem fornecer valores MD5 ou SHA-1, e um .sfvarquivo contém checksums CRC-32 para um conjunto de arquivos. Esses formatos ainda podem ajudar a detectar alguns erros de transferência acidentais quando comparados com um manifesto original confiável. No entanto, eles não são uma maneira segura de comprovar a autenticidade de um download. A Microsoft observa que MD5 e SHA-1 não são mais considerados seguros contra ataques; use SHA-256 quando o editor o oferecer. Se uma fonte antiga fornecer apenas um valor MD5, trate-o como uma verificação de alterações limitada, e não como uma prova de confiança.
Verificar os arquivos do sistema Windows é uma tarefa diferente.
Get-FileHashO comando verifica um arquivo comparando-o com uma referência fornecida; ele não sabe o que um arquivo de sistema do Windows deve conter. Para arquivos protegidos do Windows, use o Verificador de Arquivos do Sistema (SFC) a partir de um terminal com privilégios elevados: sfc /verifyonlyo comando verifica sem reparar, enquanto sfc /scannowo comando verifica e tenta reparar. A Microsoft lista essas opções em sua referência de comandos SFC . Use o método de hash para downloads, arquivos compactados, backups e outros arquivos para os quais você tenha um checksum confiável.