Aktueller Standort: Startseite> Neueste Artikel> So vergleichen Sie zwei Bcrypt -verschlüsselte Passwörter in Laravel

So vergleichen Sie zwei Bcrypt -verschlüsselte Passwörter in Laravel

gitbox 2025-06-12

1. Einführung

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.

2. Bcrypt Hashing -Algorithmus

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

3. Vergleich von zwei Bcrypt -Hashes

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.

3.1. Mentale Formel

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.

3.2. Beispiel

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.