Basic Usage
Sie können ein Kennwort durch Aufruf der make-Methode auf der Hash-Fassade generieren:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Hash;
use App\Http\Controllers\Controller;
class UpdatePasswordController extends Controller
{
/**
* Update the password for the user.
*
* @param Request $request
* @return Response
*/
public function update(Request $request)
{
// Validate the new password length...
$request->user()->fill([
'password' => Hash::make($request->newPassword)
])->save();
}
}
Adjusting The Bcrypt Work Factor
Wenn Sie den Bcrypt-Algorithmus verwenden, können Sie mit der make-Methode den Arbeitsfaktor des Algorithmus mit der Option rounds verwalten; die Vorgabe ist jedoch für die meisten Anwendungen akzeptabel:
$hashed = Hash::make('password', [
'rounds' => 12
]);
Adjusting The Argon2 Work Factor
Wenn Sie den Argon2-Algorithmus verwenden, können Sie mit der make-Methode den Arbeitsfaktor des Algorithmus mit den Optionen memory, time und threads verwalten; die Voreinstellungen sind jedoch für die meisten Anwendungen akzeptabel:
$hashed = Hash::make('password', [
'memory' => 1024,
'time' => 2,
'threads' => 2,
]);
Verifying A Password Against A Hash
Mit der Prüfmethode können Sie überprüfen, ob eine bestimmte Klartextzeichenfolge einem bestimmten Hash entspricht. Wenn Sie jedoch den mit Laravel mitgelieferten LoginController verwenden, müssen Sie diesen wahrscheinlich nicht direkt verwenden, da dieser Controller diese Methode automatisch aufruft:
if (Hash::check('plain-text', $hashedPassword)) {
// The passwords match...
}
Checking If A Password Needs To Be Rehashed
Mit der needsRehash-Funktion können Sie feststellen, ob sich der vom Hashing verwendete Arbeitsfaktor seit dem Hashing des Kennworts geändert hat:
if (Hash::needsRehash($hashed)) {
$hashed = Hash::make('plain-text');
}