ホームページ >バックエンド開発 >PHPチュートリアル >[ Laravel 5.2 ドキュメント ] サービス -- ハッシュ
Laravel のハッシュ ファサードは、ユーザー パスワードを保存するための安全な Bcrypt ハッシュ アルゴリズムを提供します。 Laravel アプリケーションに付属の AuthController を使用している場合、登録と認証に Bcrypt が自動的に使用されます。
Bcrypt は、「作業係数」を調整できるため、パスワードをハッシュするための優れた選択肢です。つまり、ハードウェアがより強力になると、ハッシュの生成にかかる時間が増加します。
ハッシュ ファサードで make メソッドを呼び出して、保存されたパスワードをハッシュすることができます:
<?phpnamespace App\Http\Controllers;use Hash;use App\User;use Illuminate\Http\Request;use App\Http\Controllers\Controller;class UserController extends Controller{ /** * 更新用户密码 * * @param Request $request * @param int $id * @return Response */ public function updatePassword(Request $request, $id) { $user = User::findOrFail($id); // 验证新密码长度... $user->fill([ 'password' => Hash::make($request->newPassword) ])->save(); }}
さらに、グローバル補助関数 bcrypt を使用することもできます:
bcrypt('plain-text');
ハッシュされたパスワードを確認する
check メソッドを使用すると、指定されたネイティブ文字列と指定されたハッシュが等しいかどうかを検証できます。ただし、Laravel 独自の AuthController (詳細については「ユーザー認証」セクションを参照) を使用している場合は、このメソッドを直接使用する必要はありません。 -in 認証コントローラー このメソッドは自動的に呼び出されます:
if (Hash::check('plain-text', $hashedPassword)) { // 密码匹配...}
パスワードを再ハッシュする必要があるかどうかを確認します
needRehash メソッドを使用すると、パスワードが最後にハッシュされてから、ハッシュ計算で使用される作業係数が変更されているかどうかを判断できます。
りー