Ho due applicazioni, una in Laravel 5.2 e una in Meteor. Voglio raccogliere hash per password compatibili con entrambe le piattaforme.Hatch password Laravel & Meteor
Il database memorizza gli hash separatamente
password
per laravel.meteor_password
per Meteor.
Entrambe le piattaforme utilizzano bcrypt con 10 round di default, ma Meteor sembra sha256 la password semplice prima di bcrypt.
Se Meteor crea una password hash abc
, posso SHA256 la password pianura, e confrontarlo con abc
con interni di laravel, vale a dire Auth::attempt()
$sha256 = hash('sha256', $request->get('password'), false);
Questo funziona. Laravel autentica con successo l'utente.
Tuttavia, se registro un nuovo utente in Laravel e memorizzo l'hash meteor_password
, durante l'autenticazione con tale hash in Meteor, non riesce con il messaggio di errore "Accesso vietato". This error appears to be mean incorrect credentials.
Sto creando l'hash nello stesso modo in cui l'ho verificato quando l'ho verificato in Laravel.
$meteor_password = bcrypt(hash('sha256', $plain, false));
Sembra strano che funzioni in un modo e non nell'altro quindi presumo che mi manchi qualcosa.
Spot on, funziona come previsto. Grazie per i link; letture interessanti –
Grande. A proposito, il fattore "costo" è esponenziale, quindi un costo di 10 è, infatti, (2^10 =) 1024 round, non 10 :) – MasterAM