Laravel Hash 哈希使用教程:密码加密与校验


发布日期 : 2022-02-21 13:20:25 UTC

访问量: 10 次浏览

Laravel 哈希

哈希是将字符串转换为较短的固定值或代表原始字符串的密钥的过程。Laravel使用 Hash 门面(Facade),提供了一种安全的方式来以哈希方式存储密码。

基本用法

以下屏幕截图显示如何创建一个名为 passwordController 的控制器,用于存储和更新密码:

Laravel 哈希

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Hash;
use App\Http\Controllers\Controller;

class passwordController extends Controller
{
   /**
      * Updating 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) // Hashing passwords
      ])->save();
   }
}

加密的密码是使用 make 方法存储的。此方法允许管理 bcrypt 哈希算法的工作因子,该算法在Laravel中广泛使用。

校验密码与哈希值

您应该校验密码与哈希值以检查用于转换的字符串。为此,您可以使用 check 方法。以下代码示例显示了这一步骤:

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

注意,check 方法将明文与 $hashedPassword 变量进行比较,如果匹配则返回 true