Hämta filhastigheter med Windows PowerShell

Det kan vara mycket användbart att få filhascher. Detta kan till exempel användas för att säkerställa att säkerhetskopierade filer inte är skadade eller modifierade (genom att generera hash före och efter processen), eller för att se till att ingen har manipulerat med en viktig fil.

Du kan också se det på nedladdningssidor, men användningen där är begränsad. Anledningen är enkel: om en angripare lyckades ändra nedladdningsfilen finns det en chans att webbplatsen också komprometterades. Det kan teoretiskt åtminstone innebära att filhashen som visas på webbplatsen ändrades också för att passa den nya skadliga versionen av nedladdningen.

Vi har granskat ett betydande antal hash-relaterade program tidigare: från Windows-skalförlängningen HashTab, över Nirsofts HashMyFiles till File Check MD5 och MD5 Check Utility.

Hämta filhastigheter med Windows PowerShell

Om du snabbt behöver generera hash för en fil på en Windows-maskin kan du också använda PowerShell för det.

Det kanske inte är lika bekvämt som några av hashprogrammen där ute, men det är en naturlig implementering som inte kräver att tredjepartsprogramvara fungerar. Användbart i exempelvis begränsade miljöer eller om det inte finns någon internetanslutning att ladda ner dessa program.

Hash-generering integrerades i PowerShell 4.0. Det ingår i Windows 8.1 och Windows Server 2012 R2 och finns också för Windows 7 Service Pack 1, Windows Server 2012 och Windows Server 2008 R2 Service Pack 1.

  1. Klicka på Windows-tangenten, skriv PowerShell och tryck på Enter-knappen för att starta den.

Huvudkommandot är get-filehash FILEPATH, t.ex. get-filehash c: \ test.txt .

Get-FileHash använder Sha256-algoritmen som standard. Du kan ange en annan algoritm istället med parametern-Algoritm.

Stöds är: SHA1, SHA256, SHA384, SHA512, MACTripleDES, MD5, RIPEMD160

Observera att MD5 och SHA1 inte betraktas som säkra längre men fortfarande stöds.

Så för att generera en Sha512-hash skulle du använda kommandot get-filehash-algoritm Sha512 c: \ test.txt.

Du kan också använda -LiteralPath eller -InputStream istället för standardvägsalternativet.

  • LiteralPath: get-filehash-LiteralPath-Algoritm SHA512 c: \ test.txt.
  • InputStream get-filehash -InputStream-Algoritm SHA512 Stream.

Kärnskillnaden mellan stig och litteralväg är att literalpath stöder inga jokertecken och används exakt som den är typ.

certutil

CertUtil är ett annat Windows-program som du kan använda för att beräkna hash av filer. Du kan köra programmet från kommandotolken eller med PowerShell.

Baskommandot är certutil -hashfile PATH, t.ex. certutil -hashfile c: \ example.txt .

Du kan också specificera hash-algoritmen. MD2, MD4, MD5, SHA1, SHA256, SHA384, SHA512 stöds. Standardalgoritmen är MD5.

Om du vill använda en annan hashalgoritm anger du den efter kommandot, t.ex. certutil -hashfile c: \ example.txt SHA512 .

Stängande ord

Du kan använda kommandona i skript för att beräkna hascher för flera filer i en operation. De två ursprungliga verktygen get-filehash och certutil är ganska praktiska för snabb beräkning av hash på Windows och även för skriptanvändning. (via Genbeta (spanska))