Ich versuche, die Standard-BCrypt in Laravel 5 zu erweitern, um stattdessen die SHA1-Verschlüsselung zu verwenden.Laravel 5: Verwendung von SHA1 anstelle von Bcrypt
die Antwort auf dieser Frage verwenden: How to use SHA1 encryption instead of BCrypt in Laravel 4? und die offiziellen Dokumentation bei http://laravel.com/docs/5.0/extending#container-based-extension gelang I'v den folgenden Code, um zu kochen:
In app/Anbieter/ShaHashServiceProvider.php
use App\ShaHasher; use Illuminate\Hashing\HashServiceProvider; class ShaHashServiceProvider extends HashServiceProvider { public function boot() { parent::boot(); $this->app->bindShared('hash', function() { return new ShaHasher(); }); } }
In app/ShaHasher.php
use Illuminate\Contracts\Hashing\Hasher as HasherContract; class ShaHasher implements HasherContract { public function make($value, array $options = array()) { $value = env('SALT', '').$value; return sha1($value); } public function check($value, $hashedValue, array $options = array()) { return $this->make($value) === $hashedValue; } public function needsRehash($hashedValue, array $options = array()) { return false; } }
In app/config/app.php
'providers' => [ ... //'Illuminate\Hashing\HashServiceProvider', 'App\Providers\ShaHashServiceProvider', ... ],
Ich verwende Laravels auch out-of-the-box AuthController
Logins zu handhaben.
Aber es scheint, dass es nicht funktioniert, wie ich es vorhatte. Als ich mich das erste Mal anmeldete, funktionierte alles perfekt. Dann habe ich mich ausgeloggt und seitdem ist jeder Anmeldeversuch fehlgeschlagen.
Ich bekomme keine Fehler, nur die "Hoppla! Es gab einige Probleme mit Ihrer Eingabe. Diese Anmeldeinformationen stimmen nicht mit unseren Aufzeichnungen." Nachricht.
Ich frage mich was genau was schief gelaufen ist, und wo? Ich hoffe, einige von euch Genies können mir helfen!
Warum? SHA1 ist nicht sehr sicher. – lukasgeiter
@lukasgeiter - Ich migriere eine alte CakePHP App (die SHA1 verwendet) nach Laravel 5. – TheNish
Dann würde ich versuchen, die Passwörter tatsächlich auf bcrypt zu migrieren. [Diese Antwort beschreibt, wie ein solcher Migrationsprozess funktionieren könnte] (http://stackoverflow.com/a/28519426/1903366) – lukasgeiter