GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie gibt Ihnen die Sha1sum-Funktion einen einzigartigen Hash?

Geschlossen. Diese Frage ist off-topic. Antworten werden derzeit nicht akzeptiert.

Möchten Sie diese Frage verbessern? Aktualisieren Sie die Frage so, dass sie für Unix &Linux Stack Exchange relevant ist.

Vor 2 Jahren geschlossen.


Verbessern Sie diese Frage

Ich habe das mit dem sha1sum gelesen Der Befehl führt den SHA-1-Algorithmus aus und gibt Ihnen ein „eindeutiges“ Ergebnis, aber wie kann das sein?

sha1sum gibt Ihnen einen 40-stelligen Hash wie diesen:

e5fa44f2b31c1fb553b6021e7360d07d5d91ff5e

Dieser ist 40 Zeichen lang und enthält hexadezimale Zeichen, sodass der Hash höchstens 16 Kombinationen haben kann.

Das sollte bedeuten, dass es für zwei zufällige Dateien gibt eine kleine Chance, dass ihre Hash-Summe genau gleich wäre, oder?

Akzeptierte Antwort:

Ein SHA-1-Hash ist wie jeder Hash nicht eindeutig; tatsächlich wurden Kollisionen gefunden (und noch wichtiger, manipuliert).

Die wünschenswerte Eigenschaft einer Hash-Funktion ist, dass es schwierig ist, zwei Dateien zu erstellen, die denselben Hash erzeugen, nicht dass die erzeugten Hashes eindeutig sind (wie Sie erwähnt haben, hat eine SHA-1-Summe 160 Bit, also gibt es nur 2 verschiedene Hashes); schwierig bedeutet, dass Sie eine Kollision nicht schneller finden können als die Brute-Force-Suche. Wenn Sie eine Datei auswählen, hat eine andere zufällig ausgewählte Datei eine Eins-zu-Zwei-Chance, denselben Hash zu haben. SHA-1 gilt seit 2005 als unsicher; Dank des Geburtstagsangriffs sehen Sie die dort angegebenen Chancen eins zu zwei (die Chancen dort sind die, zwei kollidierende Dateien in einem großen Heuhaufen zu finden, nicht die, eine kollidierende Datei für ein bestimmtes Ziel zu finden).


Linux
  1. Wie generiert man einzigartigen Hardware-Hash?

  2. Wie stellen Sie die Hardwareuhr unter Linux programmgesteuert ein?

  3. Wie geben Sie su die aktuellen Benutzerumgebungsvariablen an?

  4. Wie füge ich dem Kernel-Modulcode eine Abfragefunktion hinzu?

  5. Wie können Sie den tatsächlichen Hardlink von ls sehen?

Wie können Sie installierte Versionen der glibc-Bibliotheken ermitteln?

Untar, ungz, gz, tar – wie merken Sie sich all die nützlichen Optionen?

Wie rufen Sie die aktuelle Zeit auf einem Server ab?

Wie erhöhen Sie die Rahmenstärke für die Größenänderung in Xubuntu 12.04?

Wie verwenden Sie reguläre Ausdrücke mit dem cp-Befehl in Linux?

wie setzt man das admin passwort auf openldap 2.4