Warum führt 'mkpasswd -m sha-512' bei jedem Aufruf zu einem anderen Ergebnis?

11

Ich benutze diese Funktion, um ein Passwort in der Schattendatei zu erstellen

$ mkpasswd -m sha-512 password
$6$o50n4EfNOBzfs$K5l5AcOI5e0I9n2df0LmR11OLSPKSVM6AGBOnWVfDDfMubb46MrAj0zehdLNEoYzD2fj5q4XUdDwexj/dWLHy/
$ mkpasswd -m sha-512 password
$6$ADmDOhDpW$gsYQuiKPpV1ewaUpRq2VGAvrcocffLQ8XGF94e6LNLZfKIjy6Ku.cZoR/5exeCi1ESjPB9TRM6HxCiY5BCNCV0
$ mkpasswd -m sha-512 password
$6$Efj1agaI$HGkny3q1OTYT4KREh18gueHJae/3Bvil0iOEhfXj8bD.qy9Lg2UIQJMuBcq0XtG3xzueK.7cp0GfKr7tEo5YI/
$ mkpasswd -m sha-512 password
$6$zdVPlCPai4Y$x3CBvlP99xZXZcr4PTiE..YLpZx39h5OHDxqazd9wFLImPuwsXF0M6KmqLzlCCrnQhI2lmEPdCzfmHA/fDiOz.

Ich frage mich, wie der Ausgabewert als Passwort funktioniert

Anthony Kong
quelle
2
Die Ausgabe des Befehls ist tatsächlich sowohl ein Salt (zufällig) als auch der Hash des Passworts + Salt. Da das Salz zufällig ist, ist die Ausgabe immer unterschiedlich.
Lesen Sie Wie man Passwörter sicher hasht?
Gilles 'SO - hör auf böse zu sein'

Antworten:

19

Wenn Sie die Manpage mit "man mkpasswd" überprüfen, werden Sie feststellen, dass dieser Befehl auch einen optionalen Parameter akzeptiert. -S, --salt=STRING Wenn Sie ihn weglassen, wird ein zufälliger Salt-Wert verwendet, und daher unterscheidet sich auch der verschlüsselte Kennwortwert.

Wenn Sie das Salz liefern,

mkpasswd -m sha-512 password -s "11223344"
$6$11223344$YzaRt.fnidpXmKw.Dl20htfOrJ8X2Yx3V.h5zUlhlN2SdczempQmQcDcMYd6mHiXlaMqyGt200zDwuZiC8ZZw1

Sie erhalten immer das gleiche Ergebnis.

Übrigens sehen Sie den Salt-Wert ganz am Anfang der Ausgabezeichenfolge: Er ist der Wert zwischen $'s und 8 bis 16 Zeichen lang.

Ariel
quelle