Heim  >  Artikel  >  Backend-Entwicklung  >  Wie verwende ich SHA1-Verschlüsselung anstelle von BCrypt in Laravel 4?

Wie verwende ich SHA1-Verschlüsselung anstelle von BCrypt in Laravel 4?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-21 13:43:30929Durchsuche

How to Use SHA1 Encryption Instead of BCrypt in Laravel 4?

SHA1-Verschlüsselung mit Laravel 4 verwenden

Um SHA1-Verschlüsselung anstelle von BCrypt in Laravel 4 zu implementieren, müssen Sie das Hash-Modul neu schreiben. Die Abhängigkeitsinjektionsprinzipien von Laravel machen dies relativ einfach.

Schritt 1: Erstellen Sie die SHAHasher-Klasse

Erstellen Sie eine SHAHasher-Klasse in Apps/Bibliotheken, die das IlluminateHashingHasherInterface (oder IlluminateContractsHashingHasher in) implementiert Laravel 5). Implementieren Sie die drei erforderlichen Methoden:

<code class="php">class SHAHasher implements Illuminate\Hashing\HasherInterface {

    // Hash a given value
    public function make($value, array $options = array()) {}

    // Verify a given plain value against a hash
    public function check($value, $hashedValue, array $options = array()) {}
    
    // Check if a hash needs to be rehashed
    public function needsRehash($hashedValue, array $options = array()) {}

}</code>

Schritt 2: Registrieren Sie den SHAHasher-Dienstanbieter

Erstellen Sie einen SHAHashServiceProvider in App/Bibliotheken, der IlluminateSupportServiceProvider erweitert und ihn als registriert Hash-Komponente:

<code class="php">class SHAHashServiceProvider extends Illuminate\Support\ServiceProvider {

    // Register the service provider
    public function register() {}

    // Get the services provided by the provider
    public function provides() {}

}</code>

Schritt 3: App-Konfiguration ändern

  • app/config/app.php öffnen
  • Entfernen ' IlluminateHashingHashServiceProvider' aus dem Provider-Array
  • SHAHashServiceProvider' zum Provider-Array hinzufügen

Zusätzliche Hinweise

  • Diese Methode ermöglicht Ihnen um zwischen BCrypt- und SHA1-Verschlüsselung in Laravel zu wechseln.
  • Für die Registrierung hashen Sie das Passwort mit $password = sha1($password).
  • Überprüfen Sie im Post_Login das Passwort mit $hashed_password === sha1($password) statt Auth::attempt.

Das obige ist der detaillierte Inhalt vonWie verwende ich SHA1-Verschlüsselung anstelle von BCrypt in Laravel 4?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn