Unterschied zwischen Sha1sum, Sha256sum und Md5sum

10

Was ist der Unterschied zwischen Sha1sum, Sha256sumund Md5sum? und wie kann man all dies auf eine ISO-Datei überprüfen? und wie erstelle md5sum.txtich eine Datei in Ubuntu?

Marko Blanka
quelle
1
Besuchen Sie Wikipedia , dies und das .
Pandya
1
Wir haben auch sha512sum!
Will

Antworten:

8

Wenn Sie sich die Manpage für jede dieser Seiten ansehen, werden Sie feststellen, dass sie sagen:

md5sum - compute and check MD5 message digest

sha1sum - compute and check SHA1 message digest

sha256sum - compute and check SHA256 message digest

Das sagt Ihnen, dass sie alle einen Message Digest erstellen, eine Einwegfunktion, die Daten beliebiger Größe als Argument verwendet und einen Hash fester Größe zurückgibt. Ein Hash wird als unmöglich (im Rahmen der praktischen Anwendbarkeit) angesehen, zwei verschiedene Nachrichten mit demselben Hash umzukehren und zu finden (als Kollision bezeichnet).

Der Unterschied zwischen den drei ist der Algorithmus, der zum Generieren dieses Hashs verwendet wird.

MD5 wurde Anfang der 90er Jahre erfunden und gilt mittlerweile als fehlerhaft und veraltet.

SHA1 wurde ebenfalls in den frühen 1990er Jahren entwickelt. Es gilt als stärker als MD5, aber nicht stark genug. Die Verwendung wird derzeit von der digitalen Signatur auf digitalen X.509-Zertifikaten zurückgezogen.

SHA256 ist die derzeit empfohlene Hash-Funktion.

Wenn Sie keinen Grund haben, die schwächeren Algorithmen zu verwenden, ist SHA256 der richtige Weg.

Um die Textdatei zu erstellen, leiten Sie die Ausgabe einfach in die Datei um. Wenn Sie beispielsweise ein Ubuntu-ISO-Image haben, das Sie hashen möchten:

 md5sum Ubuntu.iso > md5sum.txt

Das funktioniert natürlich auch bei den anderen Varianten.

Sie können diese Datei dann (zum Beispiel) über das Internet verteilen und der Empfänger kann den Hash erneut überprüfen mit:

md5sum Ubuntu.iso

Dadurch wird der MD5-Hash gedruckt, den der Empfänger mit dem Inhalt der von md5sum.txtIhnen veröffentlichten Datei vergleichen kann . Wenn sie identisch sind, wurde die Datei nicht manipuliert.

Natürlich wäre es besser zu verwenden sha256sumals md5sum. Sie werden oft eine Auswahl dieser Hashes veröffentlicht ( finden md5sum.txt, sha1sum.txtund / oder sha256sum.txt) mit einer ISO für die Tatsache zu berücksichtigen , dass einige Systeme nicht alle dieser Dienstprogramme haben könnten.

garethTheRed
quelle
1

MD5, SHA-1 und SHA-256 sind verschiedene Hash-Funktionen (Digests). Sie unterscheiden sich sowohl im Algorithmus als auch in der Ausgabegröße.

Wenn Sie große Dateien überprüfen, können Sie den Vorgang beschleunigen, indem Sie vermeiden, dass die Datei mehrmals gelesen werden muss. Ein allgemeiner Ansatz ist

mkfifo md5 sha1 sha256
md5sum md5 >md5.txt &
sha1sum sha1 >sha1.txt &
sha256sum sha256 >sha256.txt &
zsh -c 'setopt MULTIOS; cat input >md5 >sha1 >sha256'

In diesem Fall ist es jedoch einfacher, da es ein Programm gibt, das mehrere Digests gleichzeitig berechnet:

gpg --print-mds input
Hauke ​​Laging
quelle
Genial die Verwendung von GPG, aber wie verwende ich es, um verschiedene Dateien zu vergleichen?
Herman Toothrot
1
@ user4050 Sie könnten gpg --print-mds <file1 >digest.1; gpg --print-mds <file2 >digest.2anf verwenden und dann vergleichen digest.1mitdigest.2
Hauke ​​Laging