Obtenha hashes de arquivo usando o Windows PowerShell
- Categoria: Janelas
Obter hashes de arquivo pode ser bastante útil. Isso pode ser usado, por exemplo, para garantir que os arquivos de backup não sejam corrompidos ou modificados (gerando hashes antes e depois do processo) ou para garantir que ninguém adultere um arquivo importante.
Você pode vê-lo em sites de download também, mas o uso lá é limitado. O motivo é simples: se um invasor conseguiu alterar o arquivo de download, há uma chance de que o site também tenha sido comprometido. Isso poderia, teoricamente, significar que o hash do arquivo exibido no site também foi modificado para se ajustar à nova versão maliciosa do download.
Revisamos um número considerável de programas relacionados a hash no passado: do Extensão do shell do Windows HashTab , sobre HashMyFiles da Nirsoft para Arquivo de verificação MD5 e MD5 Check Utility .
Obtenha hashes de arquivo usando o Windows PowerShell
Se você precisa gerar o hash de um arquivo rapidamente em uma máquina Windows, você também pode usar PowerShell por isso.
Pode não ser tão confortável quanto alguns dos programas de hash, mas é uma implementação nativa que não requer software de terceiros para funcionar. Útil em ambientes restritos, por exemplo, ou quando não há conexão com a Internet disponível para baixar esses programas.
A geração de hash foi integrada ao PowerShell 4.0. Ele está incluído no Windows 8.1 e Windows Server 2012 R2 e também está disponível para Windows 7 Service Pack 1, Windows Server 2012 e Windows Server 2008 R2 Service Pack 1.
- Toque na tecla Windows, digite PowerShell e pressione a tecla Enter para iniciá-lo.
O comando principal é get-filehash FILEPATH , por exemplo. get-filehash c: test.txt .
Get-FileHash usa o algoritmo Sha256 por padrão. Você pode especificar um algoritmo diferente, em vez de usar o parâmetro -Algorithm.
Os suportados são: SHA1, SHA256, SHA384, SHA512, MACTripleDES, MD5, RIPEMD160
Observe que MD5 e SHA1 não são mais considerados seguros, mas ainda são suportados.
Então, para gerar um hash Sha512 você usaria o comando get-filehash -Algorithm Sha512 c: test.txt.
Você também pode usar -LiteralPath ou -InputStream em vez da opção de caminho padrão.
- LiteralPath: get-filehash -LiteralPath -Algorithm SHA512 c: test.txt.
- InputStream get-filehash -InputStream -Algorithm SHA512 Stream.
A principal diferença entre path e literalpath é que literalpath não suporta curingas e é usado exatamente como é digitado.
CertUtil
CertUtil é outro programa nativo do Windows que você pode usar para calcular hashes de arquivos. Você pode executar o programa no prompt de comando ou usando o PowerShell.
O comando básico é certutil -hashfile PATH , por exemplo. certutil -hashfile c: example.txt .
Você também pode especificar o algoritmo de hash. São suportados MD2, MD4, MD5, SHA1, SHA256, SHA384, SHA512. O algoritmo padrão é MD5.
Para usar um algoritmo de hash diferente, especifique-o após o comando, por exemplo, certutil -hashfile c: example.txt SHA512 .
Palavras de Encerramento
Você pode usar os comandos em scripts para calcular hashes para vários arquivos em uma operação. As duas ferramentas nativas get-filehash e certutil são bastante úteis para o cálculo rápido de hashes no Windows e também para uso de script. (através da Genbeta (Espanhol))