Firmenlink

ESET

 

Windows 10: SHA256-Hash mit Bordmitteln prüfen

Bei wichtigen Downloads können Sie oft prüfen, ob die Datei korrekt eingetroffen ist. Unter Windows 10 auch mit Bordmitteln.

von Gaby Salvisberg 27.02.2020

Aus jeder Datei lässt sich eine Art Fingerabdruck berechnen. Sind die Fingerabdrücke zweier Dateien gleich, handelt es sich – aufs Bit genau – um identische Dateien. Hierfür werden auf mathematischen Algorithmen basierende Methoden beigezogen, zum Beispiel über SHA256-Hashes.

Das Prüfen des Hash-Werts bietet sich bei besonders grossen oder wichtigen Downloads an. So können Sie beispielsweise ein DVD-Abbild nach dem Download prüfen, bevor Sie es auf DVD brennen. Das klappt natürlich nur, wenn der Anbieter der Datei (z.B. der Linux-Hersteller, der das .iso-File zum Download anbietet) auch seinerseits den SHA256-Hash der Datei publiziert.

Vorbildlich: Der Anbieter dieses Downloads publiziert für jede Datei den zugehörigen SHA256-Hash, damit ihn die Nutzer nach dem Download vergleichen können Vorbildlich: Der Anbieter dieses Downloads publiziert für jede Datei den zugehörigen SHA256-Hash, damit ihn die Nutzer nach dem Download vergleichen können Zoom© pctipp.ch

Ist dies der Fall, geht das mit einem Zusatz-Tool so, wie in diesem Artikel beschrieben: MD5- und SHA256-Hashes berechnen. Das darin erwähnte Tool Fsum Frontend ist zwar schon zwölf Jahre alt, funktioniert aber unter Windows 10 immer noch.

Ein Beispiel: Wir haben uns beim CERT Japan das EmoCheck-Tool heruntergeladen, auf das ein Nutzer im PCtipp-Forum aufmerksam gemacht hat. Nun möchten wir wissen, ob es während des Downloads verändert wurde – sei es durch einen Schädling, sei es durch einen fehlerhaften Download. Der Anbieter hat auf seiner GitHub-Seite den Hash für die Datei publiziert. Er hat 64 Stellen und endet auf «E4491B45E1254163».

Wenn mit unserem Exemplar der Datei alles in Ordnung ist, muss mit jeder SHA256-Prüfung der exakt gleiche Hash herauskommen. Natürlich könnten wir es mit dem oben erwähnten Fsum Frontend prüfen. Oder wir könnten es auf virustotal.com hochladen (was jemand gemacht hat), denn da werden Dateien anhand ihres SHA256-Hashes identifiziert.

Und wie gehts mit Windows-Bordmitteln?

Wollen Sie es weder hochladen noch mit einem Zusatz-Tool prüfen, greifen Sie in Windows 10 zur PowerShell. Klicken Sie auf Start, tippen Sie PowerSh ein und öffnen Sie Windows PowerShell. Standardmässig öffnet sich ein Konsolenfenster, in dem Sie im Ordner C:\Users\IhrName landen. Wenn die zu prüfende Datei im Downloads-Ordner liegt, wechseln Sie mit Eingabe von cd downloads (und Enter) in den Downloads-Ordner. Mit dem Befehl dir listen Sie den Inhalt des Ordners auf. Hier entdecken Sie die betroffene Datei. Bei uns heisst sie emocheck_x64.exe.

Nutzen Sie den folgenden Befehl, wobei Sie natürlich anstelle von «emocheck_x64.exe» den für Sie interessanten Dateinamen eingeben:
Get-Filehash emocheck_x64.exe -Algorithm SHA256

Drücken Sie Enter, steht quasi sofort der Hash da. Vergleichen Sie ihn mit jenem auf der Herstellerwebseite. Ist es derselbe, dann ist es dieselbe Datei. (PCtipp-Forum)


    Kommentare

    • Xpert 27.02.2020, 09.51 Uhr

      Ich habe mir ca. 1 Woche nach meinem Beitrag ein Powershell-Skript geschrieben, da ich die Funktion selber sehr häufig im Job benötige. Hier als Ergänzung das Skript, welches eventuell sonst noch jemand einsetzen kann: #Compare hash of downloaded files #Author: Xpert for PCTipp 02/2020 Add-Type -AssemblyName System.Windows.Forms $choosePathOption = "" cls #Algorithms to choose from $const_sha1 = "sha1" $const_sha256 = "sha256" $const_sha384 = "sha384" $const_sha512 = "sha512" [...]

    • Gaby Salvisberg 05.03.2020, 17.34 Uhr

      Coole Sache :) Hinweis: Die Zeile «read-host "Zum Beenden eine Taste drücken..."» am Ende des im PowerShell-Scripts hat nichts genützt, wenn man das Script aus einer Batchdatei aufruft. Es schliesst das cmd-Fenster trotzdem. Gewirkt hat jedoch in der Batchdatei am Schluss noch der Klassiker mit dem einen Wort in der Zeile: pause Und – wichtig, wegen der Umlaute: Nicht UTF-8-kodieren, sondern ANSI (habs in Notepad++ gemacht, da hat es zuerst UTF-8 fabriziert, was dann unschöne Umlaute a[...]

    • Xpert 05.03.2020, 23.43 Uhr

      Hey Gabi Danke für Dein Feedback. Ich habe es auf verschiedenen Windows-Versionen getestet. Leider funktioniert es je nach Windows- bzw. PowerShell-Version nicht zuverlässig. Bis jetzt ist es mir nicht aufgefallen, da es bei der Arbeit so funktioniert. Es gibt in diesem Fall aber einen "Trick", den es eigentlich schon länger gibt. In der Batchdatei, welche das PS-Skript aufruft, einfach den Parameter "-NoExit" mit angeben: powershell -NoExit -executionpolicy bypass -File "PfadZumPowerS[...]

    weitere Kommentare

    Sie müssen eingeloggt sein, um Kommentare zu verfassen.