ホームページ >バックエンド開発 >PHPチュートリアル >[ Laravel 5.2 ドキュメント ] サービス -- ハッシュ

[ Laravel 5.2 ドキュメント ] サービス -- ハッシュ

WBOY
WBOYオリジナル
2016-06-23 13:17:07874ブラウズ

1. はじめに

Laravel のハッシュ ファサードは、ユーザー パスワードを保存するための安全な Bcrypt ハッシュ アルゴリズムを提供します。 Laravel アプリケーションに付属の AuthController を使用している場合、登録と認証に Bcrypt が自動的に使用されます。

Bcrypt は、「作業係数」を調整できるため、パスワードをハッシュするための優れた選択肢です。つまり、ハードウェアがより強力になると、ハッシュの生成にかかる時間が増加します。

2. 基本的な使用法

ハッシュ ファサードで 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 メソッドを使用すると、パスワードが最後にハッシュされてから、ハッシュ計算で使用される作業係数が変更されているかどうかを判断できます。

りー
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。