WikiDer > Md5sum

md5sum

md5sum ist ein Computer Programm dass 128-BitsMD5-Hashes berechnet und verifiziert, wie in . beschrieben RFC 1321.[1] EIN MD5-Hash ist ein kompakter, DigitalFingerabdruck einer Datei. Wie bei den Hashing-Algorithmen aus dem SHA-Familie, wie SHA-256 und SHA-512, gibt es theoretisch eine unbegrenzte Anzahl von Dateien, die den gleichen Hash haben.

Sicherheit

Md5sum wird verwendet, um die Integrität von Dateien zu überprüfen, da fast jede Änderung an einer Datei den MD5-Hash ändert. In der Regel md5sum Wird verwendet, um zu überprüfen, ob eine Datei nicht durch einen Dateiübertragungsfehler oder einen Plattenspeicherfehler beschädigt wurde. Das Programm md5sum ist in den meisten enthalten Unix-ähnlichBetriebssysteme, oder Kompatibilitätsschichten wie Cygwin.[2]

Der zugrundeliegende MD5-Algorithmus wird jedoch nicht mehr für alle Absichten und Zwecke als ausreichend sicher angesehen. Obwohl md5sum Es eignet sich gut zum Identifizieren bekannter Dateien in nicht sicherheitsrelevanten Situationen und sollte nicht verwendet werden, wenn die Möglichkeit besteht, dass Dateien absichtlich und in böswilliger Absicht erstellt wurden. Im letzteren Fall ist die Verwendung neuerer Hashing-Tools, wie z sha256sum und sha512sum, empfohlen.[3][4][5][6]Es ist jedoch sehr unwahrscheinlich, dass zwei nicht identische Dateien tatsächlich denselben MD5-Hash aufweisen oder speziell für diesen Zweck erstellt wurden.

Beispiele

Es wird davon ausgegangen, dass sich alle Dateien im aktuellen Arbeitsverzeichnis befinden. In allen Beispielen md5sum ersetzt werden durch sha256sum oder sha512sum. Der einzige Unterschied besteht darin, dass die Hashes dann statt 128 Bit 256 und 512 Bit lang sind und die Berechnungszeiten der Hashes länger sind.

MD5-Dateien erstellen

Hash-Datei erstellen hash.md5 von drei TXTDateien:

$ md5sum filetohashA.txt filetohashB.txt filetohashC.txt > hash.md5

Die MD5-Datei wurde erstellt.

Die Datei enthält drei Zeilen mit Hash- und Dateinamenpaaren:

$ Katze hash.md5595f44fec1e92a71d3e9e77456ba80d1 filetohashA.txt71f920fa275127a7b60fa4d4d41432a3 filetohashB.txt43c191bf6d6c3f263a8cd0efd4a058ab filetohashC.

Bemerkungen:

  • Es müssen zwei Leerzeichen oder ein Leerzeichen und a and sein Sternchen, zwischen jedem md5sumWert und Dateiname. Das zweite Leerzeichen zeigt den Textmodus an und das Sternchen zeigt den Binärmodus an. Andernfalls wird eine Fehlermeldung gedruckt. Viele Programme unterscheiden nicht zwischen den beiden Modi.
  • Die Zeilen der Datei müssen mit UNIX sein Ende der Linie-characters endet ansonsten eine Warnung, dass die Datei nicht gelesen werden kann. Mit dos2unix die für DOS/Windows formatierten Dateien können konvertiert werden.

Hashes überprüfen

Mit dem -cOption (oder die --prüfenOption) überprüft die Hashes:

$ md5sum -c hash.md5filetohashA.txt: OKfiletohashB.txt: OKfiletohashC.txt: OK

Als die --ruhigOption hinzugefügt, werden nur die Fehlermeldungen gedruckt.

$ md5sum -c --quiet hash.md5

In diesem Fall erfolgt nach der Ausführung des Befehls keine Ausgabe, da keine Fehler erkannt wurden. Hinzufügen der --ruhigOption ist sinnvoll, wenn die Liste der zu prüfenden Dateien lang ist und nur wenige Fehler zu erwarten sind.

Die Überprüfung eines einzelnen Hashs kann mit dem Befehl erfolgen:

$ Echo D43F2404CA13E22594E5C8B04D3BBB81 filetohashA.txt | md5sum -c -filetohashA.txt: OK

Linux, GNU und BSD

Die oben beschriebenen Hash-Funktionen sind die Funktionen wie bei functions GNU in den Core Utils implementiert.[2]abweichend Linux-Distributionen, FreeBSD und UNIX-Varianten, die keine GNU Core Utils verwenden, verwenden normalerweise andere Funktionen, um die MD5- und SHA-Hashes zu berechnen. Andere Implementierungen von Hashfunktionen können andere Namen, Optionen und Eigenschaften aufweisen als die Hashfunktionen in den oben beschriebenen Beispielen.

Nüsse