Laravel ist ein beliebtes PHP -Webentwicklungsrahmen. Die Kennwortverschlüsselung ist eine häufige Anforderung bei der Laravel -Entwicklung, da das Speichern von Klartextkennwörtern Sicherheitsrisiken darstellen kann. Laravel bietet einen leistungsstarken und benutzerfreundlichen lokalen Passwort-Hashing-Algorithmus-Bcrypt. In diesem Artikel wird erläutert, wie zwei BCrypt -Verschlüsselungskennwörter in Laravel verglichen werden.
BCrypt ist ein Kennwort -Hashing -Algorithmus, der auf dem Blowfish -Verschlüsselungsalgorithmus basiert und die Sicherheit durch Hinzufügen von Salz- und Kostenwerten verbessert. Der Bcrypt -Algorithmus speist das Passwort mit Salz und verschlüsselt es mit Blowfish und gibt dann einen Hash -Wert von 60 Zeichen lang aus. Das Folgende ist password_hash()
mit PHP
In Laravel können Sie Klartextkennwörter problemlos mit CipherText -Passwörtern nach Bcrypt Hash mit der Hash :: check () -Methode vergleichen. Die Methode check () vergleichen das Klartextkennwort mit dem verschlüsselten Passwort. Wenn die beiden konsistent sind, geben Sie True zurück.
if (Hash :: Check ('Secret', $ hashedPassword) { // Geben Sie True zurück, wenn die beiden Saiten konsistent sind }
Hier ist $ hashedPassword der in der Datenbank gespeicherte Bcrypt -Hash -Wert.
Stellen Sie bei Verwendung der Methode check () sicher, dass der erste Parameter das Klartextkennwort und der zweite Parameter das verschlüsselte Hash -Kennwort ist. Sie können sich an die folgenden Formeln erinnern:
"Mit BPP, vergleichen Sie den Herd": Der erste Parameter ist das Klartextkennwort (b), und der zweite Parameter ist der verschlüsselte Bcrypt -Hash -Wert (PP). Das heißt, der erste Parameter kann unterbrochen werden, aber der zweite Parameter ist sicher.
Hier ist ein vollständiges Beispiel für den Vergleich von zwei Bcrypt -Hashes:
$ Passwort = 'Geheimnis'; $ hashedPassword = '$ 2y $ 10 $ ljrd9sgr0h1ksk8vvqvcMoz0SQFPZ1T2QKZCKLUXGDF9YOLJXAF/6'; if (Hash :: check ($ password, $ hashedPassword) { Echo 'Passwort -Matching war erfolgreich! '; } anders { Echo 'Passwort -Matching fehlgeschlagen! '; }
Beachten Sie, dass die Methode check () nicht nur vergleicht, ob die beiden Zeichenfolgen gleich sind, sondern auch überprüft, dass die Hash -Zeichenfolge den richtigen Verschlüsselungsalgorithmus verwendet und sicherstellt, dass sie korrekt formatiert wird.