Ich versuche, ein eingegebenes Passwort mit dem Befehl OpenSSL passwd zu hashen und es mit dem gespeicherten Hash zu vergleichen, aber die Hash-Funktion ist nicht konsistent. Der Hash, der beim ersten Mal erzeugt wird, ist nicht derselbe Hash, der generiert wird, wenn ich die Eingabe vergleiche. Beachten Sie die 3 verschiedenen Ergebnisse jedes Mal, wenn ich den Hash ausführen:
%Vor%Was ist hier los? Wird die Systemzeit beim Erstellen des Hash verwendet? Wie kann ich konsistente Hashes erhalten?
Jedes Mal, wenn Sie diesen Befehl aufrufen, wird ein neues Salz generiert und mit diesem Salz verschlüsselt. Das Format ist $<salt>$<data>
für ein MD5.
Um einen äquivalenten Wert für den Vergleich zu generieren, müssen Sie OpenSSL mitteilen, dasselbe Salz zu verwenden.
Teilen Sie die vorhandene Zeichenfolge zuerst mit $. In der ersten Zeichenfolge ist Salz AlHYrEQp
.
Dann:
%Vor%Ich bekomme:
%Vor%