Bcrypt und zufällig generierte Salts verstehen
Bcrypt, ein branchenüblicher Algorithmus zum sicheren Hashen von Passwörtern, verwendet einen zufälligen Salt, um den Passwortschutz zu verbessern . Benutzer fragen sich jedoch möglicherweise, wie der Verifizierungsprozess unter Berücksichtigung dieses scheinbar zufälligen Elements funktioniert.
Die Rolle von Salt
Das Salt dient als eindeutiges Präfix, das zuvor dem Passwort hinzugefügt wird Hashing. Dieser zufällige Wert stellt sicher, dass jedes Passwort einen eindeutigen Hash erzeugt, auch wenn es identisch ist. Durch die Verwendung eines unvorhersehbaren Salt können Angreifer keine Passwort-Hashes vorab berechnen, was es deutlich schwieriger macht, Benutzerkonten zu kompromittieren.
Struktur des gehashten Passworts
Während das Salt zufällig generiert wird , ist es im resultierenden gehashten Passwort enthalten. Das gehashte Passwort besteht aus mehreren Teilen, darunter:
Verifizierungsprozess
Bei der Überprüfung eines Passworts wird das gehashte Passwort dem bcrypt-Algorithmus bereitgestellt. Der Algorithmus extrahiert den Salt-Anteil und verwendet ihn, um das bereitgestellte Passwort zu hashen.
Dieser Prozess spiegelt im Wesentlichen den anfänglichen Hashing-Vorgang wider, der das gehashte Passwort generiert hat. Wenn der neu generierte Hash mit dem gespeicherten Hash übereinstimmt, wird das bereitgestellte Passwort als korrekt überprüft.
Beispiel
Betrachten Sie ein gehashtes Passwort, das für das Passwort „password“ generiert wurde:
y$abcdefg...123456789...
Um zu überprüfen, ob „Passwort“ korrekt ist, wird Folgendes verwendet:
crypt("password", "y$abcdefg...123456789...")
Das Ergebnis dieser Operation ist identisch mit dem ursprünglich generierten Hash, wenn „Passwort“ ist korrekt. Dies liegt daran, dass das Salt im gehashten Passwort enthalten ist und die Wiederherstellung des ursprünglichen Hashing-Vorgangs ermöglicht.
Das obige ist der detaillierte Inhalt vonWie überprüft Bcrypt gehashte Passwörter mit zufälligen Salts?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!