„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Beeinflusst zufällig generiertes Salt die Passwortüberprüfung mit bcrypt?

Beeinflusst zufällig generiertes Salt die Passwortüberprüfung mit bcrypt?

Veröffentlicht am 10.11.2024
Durchsuche:322

Does Randomly Generated Salt Affect Password Verification with bcrypt?

bcrypt und zufällig generierte Salts

Hintergrund

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.

Salt-Erzeugung und Hashing

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.

Passwortüberprüfung

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 die Funktion crypt() verwendet, um es erneut zu hashen.

Die Hash-Vergleichslogik verstehen

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:

  1. Ein Algorithmus-Präfix ($2y$), ein Workload-Faktor (z. B. 10) und ein Salt (z. B. abcdefg...)
  2. Das gehashte Passwort

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.

Fazit

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.

Freigabeerklärung Dieser Artikel wird unter folgender Adresse abgedruckt: 1729415415 Bei Verstößen wenden Sie sich bitte an [email protected], um ihn zu löschen
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3