Hash-Werte von Dateien berechnen

Die Kommandozeile von Windows ist ein oft unterschätztes Werkzeug und das völlig zu Unrecht. Mit ein paar eingetippten Befehlen lassen sich oft Aufgaben sehe effektiv erledigen. Die Windows-Kommandozeile ist schon lange nicht mehr das Notfallwerkzeug, um alte DOS-Programme noch ausführen zu können, so wie es bei den ersten Windows-Versionen noch der Fall war. Von der Leistungsfähigkeit des Terminals unter Linux ist die Windows-Kommandozeile sicherlich noch weit entfernt. Aber für viele Aufgaben, für die ein Linux-Benutzer das Terminal benutzt, gibt es unter Windows oft ähnliche Möglichkeiten. Ich werde in kurzen Artikeln hier immer mal wieder ein paar Lösungen für kleine Probleme des Alltags posten.

Beispiel: Ich habe zwei Dateien und möchte herausbekommen, ob diese den gleichen Inhalt haben.

Das ist bei Textdateien kein großes Problem. Jeder bessere Texteditor hat ein Vergleichswerkzeug, mit dem Unterschiede festgestellt werden können.

Schwieriger wird es bei Dateien, die nicht im Texteditor angeschaut werden können, z. B. ausführbare Exe-Dateien. Die Dateigröße ist ein erster Hinweis. Wenn diese sich stark unterscheidend, dann sind die Dateien natürlich unterschiedlich. Ist die Dateigröße aber gleich, dann könnten sich die Dateien aber trotzdem unterscheiden. Eine sehr zuverlässige Methode ist es dann, die Hash-Werte der Dateien zu berechnen und zu vergleichen. Hashs sind eine Prüfsumme, die nach bestimmten Algorithmen berechnet werden. SHA-1 und MD5 sind sicherlich die bekanntesten Verfahren. Wenn die SHA-1- oder MD5-Prüfsummen von zwei Dateien gleich sind, dann kann man mit sehr hoher Sicherheit davon ausgehen, dass der Inhalt der Dateien ebenfalls gleich ist.

Vielleicht wird der ein oder andere jetzt einwenden, dass beide Algorithmen gebrochen sind und es vorkommen kann, dass bei unterschiedlichen Dateien trotzdem die gleichen Prüfsummen herauskommen. Das tritt aber extrem selten auf. Da es hier nicht um eine sicherheitsrelevante Anwendung geht, können wir das getrost vernachlässigen.

Microsoft bietet das Tool FCIV zum Download an. Nach dem Entpacken erhält man ein Kommandozeilenprogramm FCIV.exe. Das kopiert man am besten in einem Ordner, der in der PATH-Variabe erwähnt wird.

Die Anwendung ist ganz einfach:

fciv -md5 datei1.exe

Errechnet die MD5-Prüfsumme der datei1.exe.

fciv -sha1 datei1.exe

Errechnet die SHA-1-Prüfsumme der datei1.exe.

fciv -both datei1.exe

Berechnet die MD5- und die SHA-1-Prüfsumme.

Mit fciv -h erfährt man, was das Tool noch so alles kann.

FCIV

Oft wird für Download auch eine MD5-Prüfsumme angegeben. Das Tool bietet sich auch hierfür an, den Integrität der heruntergeladenen Datei zu überprüfen

Für Linux gibt es ein ähnliches Tools namens md5sum, sha1sum und sha256sum. Diese sind bereits im Betriebssystem enthalten und müssen nicht erst installiert werden.

Für MacOS X heißen die analogen Befehle md5 und sha1sum.