Laravel 文檔閱讀:哈希

翻譯、衍生自:http://laravel-china.org/docs/laravel/5.5/hashing

簡介


Laravel 的 Hash 門面為存儲(chǔ)用戶密碼提供了安全的 Bcrypt 哈希。如果你是使用內(nèi)置的 LoginControllerReginsterController 類來構(gòu)建認(rèn)證系統(tǒng)的,那么你的用戶密碼在注冊(cè)和認(rèn)證過程中已經(jīng)自動(dòng)使用了 Bcrypt 。

提示:Bcrypt 是哈希加密的理想選擇,因?yàn)樗?「影響因子」 是可調(diào)整的,這就是說明生成哈希的時(shí)間可以隨硬件功率的增加而增加的。

基本用法


你可以通過 Hash 門面的 make 方法來哈希一個(gè)明文密碼。

<? 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();
     }
}

make 方法允許你使用 rounds 選項(xiàng)來管理 bcrypt 哈希算法的影響因子;然而,使用 make 方法的默認(rèn)值,已經(jīng)足夠了。

$hashed = Hash::make('password', [
          'rounds' => 12
]);

比對(duì)哈希值和文本字符

check 方法用來驗(yàn)證給定的純文本字符串是否能對(duì)應(yīng)到給定的一個(gè)哈希值。如果你使用的是 Laravel 內(nèi)置的 LoginController 了,你已經(jīng)在使用它了。

if(Hash::check('plain-text', $hashedPassword)){
   // The passwords match ....
 }

檢查密碼是否需要重新加密

if(Hash::needsRehash($hashed)){
     $hashed = Hash::make('plain-text');
}
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Laravel 學(xué)習(xí)交流 QQ 群:375462817 本文檔前言Laravel 文檔寫的很好,只是新手看起來會(huì)有...
    Leonzai閱讀 8,716評(píng)論 2 12
  • 哈希 簡介 Laravel 的 Hash 假面對(duì)存儲(chǔ)用戶的密碼提供了安全的 Bcrypt 加密工具哈?;H绻闶?..
    Dearmadman閱讀 2,007評(píng)論 0 0
  • 簡介 laravel 使實(shí)施認(rèn)證的變得非常簡單,事實(shí)上,它提供了非常全面的配置項(xiàng)以適應(yīng)應(yīng)用的業(yè)務(wù)。認(rèn)證的配置文件存...
    Dearmadman閱讀 6,340評(píng)論 2 13
  • 文/小雪七 我自己的、我閨蜜的,我們的生日剛剛過去,轉(zhuǎn)眼又長大一歲。 人們都說25歲是女人的分水嶺,剛剛邁入這個(gè)年...
    小雪七閱讀 385評(píng)論 0 1
  • 一、線程概念 1. 操作系統(tǒng)中的線程現(xiàn)在的操作系統(tǒng)是多任務(wù)操作系統(tǒng),多線程是實(shí)現(xiàn)多任務(wù)的一種方式,在操作系統(tǒng)中,每...
    TyiMan閱讀 2,003評(píng)論 1 35

友情鏈接更多精彩內(nèi)容