Obtenha o hash do arquivo com o PowerShell no Windows 10
No Windows 10 e no Windows 8, é possível obter valores Hash para um arquivo sem usar ferramentas de terceiros. Um cmdlet especial permitirá que você calcule os valores de hash SHA1, SHA256, SHA384, SHA512, MACTripleDES, MD5 e RIPEMD160 de um determinado arquivo. Veja como isso pode ser feito.
Propaganda
O objetivo geral dos valores de hash é garantir que um arquivo seja genuíno e que seu conteúdo não tenha sido alterado por terceiros, outro software ou malware. Quando um arquivo é modificado, seu valor hash também é modificado. Também é possível comparar e combinar valores de hash para descobrir se dois ou mais arquivos são idênticos.
A capacidade de calcular o hash do arquivo faz parte da API criptográfica do Windows. A interface do usuário do sistema operacional não tem a opção de calcular ou mostrar o valor de hash para arquivos. Em vez disso, você pode usar o cmdlet Get-FileHash no PowerShell. Aqui está como usá-lo.
Para obter o hash do arquivo com PowerShell no Windows 10, faça o seguinte.
A sintaxe geral do cmdlet é a seguinte:
Get-FileHash c: \ windows \ explorer.exe | Format-List
Open PowerShell e digite o comando acima para testá-lo. Ele calcula o valor de hash SHA256 para o arquivo fornecido e produz a saída da seguinte maneira.
Para calcular o valor de hash diferente de SHA256, use a opção -Algorithm. Por exemplo, para obter o valor de hash MD5, execute o seguinte comando:
Get-FileHash c: \ windows \ explorer.exe -Algorithm MD5 | Format-List
O resultado será o seguinte:
A lista de valores possíveis para o -Algorithm é a seguinte:
- SHA1
- SHA256
- SHA384
- SHA512
- MACTripleDES
- MD5
- RIPEMD160
Outra opção útil que você precisa saber é -LiteralPath. Ele especifica o caminho para um arquivo. Ao contrário do parâmetro de caminho padrão, o valor do parâmetro LiteralPath é usado exatamente como é digitado. Nenhum caractere é interpretado como caractere curinga. Se o caminho incluir caracteres de escape, coloque o caminho entre aspas simples. As aspas simples instruem o Windows PowerShell a não interpretar caracteres como sequências de escape.
Usando o cmdlet Get-FileHash, você pode obter valores de hash para um arquivo nativamente. É muito útil, especialmente quando você está trabalhando em um ambiente seguro onde o software de terceiros não é permitido. O console do PowerShell vem com o Windows 10 e pode ser acessado em todas as instâncias instaladas, portanto, você pode usar o cmdlet Get-FileHash nativo em qualquer lugar.