Frage Warum werden md5-Passwörter unterschiedlich gehashed?


Ich frage mich seit einiger Zeit, warum läuft "echo" helloworld '| openssl passwd -1 -stdin "jedes Mal andere Ergebnisse? Wenn ich einen der Hashes in meine / etc / shadow lege, kann ich sie als meine verwenden Passwort und Login zu meinem System, wie funktioniert es?

computer:/ user$ echo 'helloworld' | openssl passwd -1 -stdin
$1$xlm86SKN$vzF1zs3vfjC9zRVI15zFl1
computer:/ user$ echo 'helloworld' | openssl passwd -1 -stdin
$1$/0.20NIp$pd4X9xTZ6sF8ExEGqAXb9/
computer:/ user$ echo 'helloworld' | openssl passwd -1 -stdin
$1$sZ65uxPA$pENwlL.5a.RNVZITN/zNJ1
computer:/ user$ echo 'helloworld' | openssl passwd -1 -stdin
$1$zBFQ0d3Z$SibkYmuJvbmm8O8cNeGMx1
computer:/ user$ echo 'helloworld' | openssl passwd -1 -stdin
$1$PfDyDWER$tWaoTYym8zy38P2ElwoBe/

Ich würde denken, dass, weil ich diesen Hash verwende, um dem System zu beschreiben, was mein Passwort sein sollte, ich die gleichen Ergebnisse jedes Mal bekommen sollte. Warum ich nicht?


22
2018-06-08 21:11


Ursprung


Wenn sie jedes Mal gleich wären, könnte ein Angreifer einfach Milliarden gewöhnlicher Passwörter hacken und leicht nach ihnen suchen. - David Schwartz


Antworten:


Sie alle haben ein anderes Salz-. Es wird jedes Mal ein einzigartiges Salz ausgewählt, da Salze niemals wiederverwendet werden sollten. Durch die Verwendung eines einzigartigen Salzes für jedes Passwort sind sie resistent gegen Regenbogen-Tisch Anschläge.


37
2018-06-08 21:13



@peter Siehe auch: Warum sollte ich Passwörter hacken? und Warum ist Salz sicherer? von Informationssicherheit - voretaq7
Es kann eine gute Idee sein zu erwähnen, dass die Ausgabe das Salz nach dem $ 1 $ enthält (die Dollarsymbole sind Separatoren). - poke
Also im Hash von '$ 1 $ xlm86SKN $ vzF1zs3vfjC9zRVI15zFl1' ist xlm86SKN das Salz und vzF1zs3vfjC9zRVI15zFl1 ist der Hash von gesalzenen helloworld? - Peter
@ Peter: genau. - Joachim Sauer


Wenn Sie das Salz der Befehlszeile übergeben, erhalten Sie immer das gleiche Ergebnis.

$ echo 'helloworld' | openssl passwd -1 -stdin -salt my-salt
$1$my-salt$S/PsLSioHR8ffN8bpIzsk/
$ echo 'helloworld' | openssl passwd -1 -stdin -salt my-salt
$1$my-salt$S/PsLSioHR8ffN8bpIzsk/
$ echo 'helloworld' | openssl passwd -1 -stdin -salt my-salt
$1$my-salt$S/PsLSioHR8ffN8bpIzsk/

3
2018-06-28 14:24