Heim >Backend-Entwicklung >PHP-Tutorial >Beeinflusst zufällig generiertes Salt die Passwortüberprüfung mit bcrypt?
bcrypt und zufällig generierte Salts
bcrypt ist ein Passwort-Hashing-Algorithmus, der Salting zur Erhöhung der Sicherheit nutzt. Beim Salting werden zufällige Daten in den Passwort-Hash integriert, um sicherzustellen, dass selbst identische Passwörter unterschiedliche Hash-Ergebnisse liefern.
Die bereitgestellte PHP-Klasse enthält eine Funktion namens genSalt(), die generiert ein zufälliges Salt mit der Funktion openssl_random_pseudo_bytes(). Dieses Salt wird dann als Teil des bcrypt-Hashing-Prozesses in der genHash()-Funktion verwendet.
Die genHash()-Funktion nimmt ein Passwort und kombiniert es mit dem zufällig generierten Salt. Der resultierende Hash ist eine Mischung aus dem ursprünglichen Passwort, Salt und einem algorithmusspezifischen Präfix ($2y$), das den bcrypt-Algorithmus und seine Parameter (z. B. Arbeitslastfaktor) angibt.
Um ein Passwort zu verifizieren, vergleicht die bereitgestellte Funktion „Verify()“ das eingegebene Passwort mit dem gespeicherten Hash. Dazu wird das bereitgestellte Passwort mit dem gespeicherten Hash verkettet und mit der Funktion crypt() erneut gehasht.
Der Schlüssel zum Verständnis, warum der zufällig generierte Salt Die Überprüfung des Passworts hat keinen Einfluss darauf, dass das Format des gespeicherten Hashs überprüft wird. Der Hash besteht aus zwei Hauptteilen:
Wenn die Funktion „Verify()“ das bereitgestellte Passwort mit dem gespeicherten Hash hasht, verwendet sie nur den Salt-Anteil als Eingabe. Dadurch wird sichergestellt, dass das Salt in den Verifizierungsprozess einbezogen wird.
Zusammenfassend lässt sich sagen, dass bcrypt zwar zufällige Salts generiert, um die Passwortsicherheit zu gewährleisten, der Passwortverifizierungsprozess jedoch nur den Salt-Anteil von berücksichtigt der gespeicherte Hash. Dadurch kann das bereitgestellte Passwort anhand des gespeicherten Hashs überprüft werden, auch wenn der Salt zufällig generiert wird.
Das obige ist der detaillierte Inhalt vonBeeinflusst zufällig generiertes Salt die Passwortüberprüfung mit bcrypt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!