Verwendung von SHA1-Verschlüsselung anstelle von BCrypt in Laravel 4
In bestimmten Szenarien, wie z. B. bei der Verbindung mit externen Systemen, die SHA1-Verschlüsselung vorschreiben, kann dies der Fall sein erforderlich sein, um Laravels standardmäßigen BCrypt-Verschlüsselungsmechanismus zu umgehen. In diesem Artikel wird beschrieben, wie Sie stattdessen SHA1 verwenden.
Schritt 1: Implementieren Sie eine benutzerdefinierte Hash-Klasse
Erstellen Sie eine benutzerdefinierte Hash-Klasse wie SHAHasher, die das IlluminateHashingHasherInterface implementiert. Diese Klasse stellt Methoden zum Hashen, Überprüfen von Hashes und Bestimmen, ob ein erneutes Hashing erforderlich ist, bereit.
Schritt 2: Definieren Sie den SHA Hash Service Provider
Erstellen Sie einen SHAHashServiceProvider, der erweitert wird IlluminateSupportServiceProvider. Dieser Dienstanbieter registriert die benutzerdefinierte Hash-Klasse als Standard-Hashing-Mechanismus für Laravel.
Schritt 3: Überschreiben Sie den Standard-Hash-Anbieter
In app/config/app. php, entfernen Sie den Standard-Hash-Dienstanbieter („IlluminateHashingHashServiceProvider“) und fügen Sie den benutzerdefinierten SHAHashServiceProvider hinzu.
Schritt 4: Passwörter mit SHA1 verschlüsseln
Sobald der benutzerdefinierte Hash-Anbieter verfügbar ist Wenn vorhanden, können Ihre Passwort-Hashing-Vorgänge aktualisiert werden, um SHA1-Verschlüsselung zu verwenden, wie zum Beispiel:
<code class="php">$password = sha1($input['password']);</code>
Schritt 5: Anmeldevalidierung außer Kraft setzen (optional)
Wenn die Wenn das externe System über das Passwort-Hashing hinaus eine zusätzliche Validierung erfordert, müssen Sie möglicherweise die post_login-Methode in Ihrem Controller überschreiben, um die SHA1-Verschlüsselung explizit zu verarbeiten.
Zusätzliche Überlegungen:
Das obige ist der detaillierte Inhalt vonKönnen Sie in Laravel die SHA1-Verschlüsselung anstelle von BCrypt verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!