Laravel - 哈希



哈希是将字符串转换为更短的固定值或表示原始字符串的密钥的过程。Laravel 使用 **Hash** facade,它提供了一种安全的方式以哈希方式存储密码。

基本用法

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

Password

以下代码行解释了 **passwordController** 的功能和用法:

<?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** 方法存储。此方法允许管理常用的 Laravel 中的 **bcrypt** 哈希算法的工作因子。

验证密码与哈希值

您应该将密码与哈希值进行验证,以检查用于转换的字符串。为此,您可以使用 **check** 方法。如下面的代码所示:

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

请注意,**check** 方法将纯文本与 **hashedPassword** 变量进行比较,如果结果为真,则返回真值。

广告