Sto cercando di estendere il Bcrypt HashServiceProvider
predefinito in laravel 5, per utilizzare invece la crittografia SHA1.Laravel 5: utilizzo di SHA1 invece di Bcrypt
Utilizzando la risposta da questa domanda: How to use SHA1 encryption instead of BCrypt in Laravel 4? e la documentazione ufficiale a http://laravel.com/docs/5.0/extending#container-based-extension, I'v riuscito a cucinare il seguente codice:
In app/fornitori/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', ... ],
Sto anche utilizzando Laravels out-of-the-box AuthController
per gestire gli account di accesso.
Ma sembra che non funzioni come volevo. La prima volta che ho provato ad accedere, tutto ha funzionato perfettamente. Poi ho disconnesso e da allora ogni tentativo di accesso è fallito.
Non ricevo errori, solo "Whoops! Ci sono stati alcuni problemi con il tuo input. Queste credenziali non corrispondono ai nostri record." messaggio.
Mi chiedo cosa esattamente cosa sia andato storto e dove? Spero che alcuni di voi geni possano aiutarmi!
Perché? SHA1 non è molto sicuro. – lukasgeiter
@lukasgeiter - Sto migrando una vecchia app CakePHP (che usa SHA1) in Laravel 5. – TheNish
Quindi proverei a migrare effettivamente le password a bcrypt. [Questa risposta descrive come potrebbe funzionare tale processo di migrazione] (http://stackoverflow.com/a/28519426/1903366) – lukasgeiter