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) {
        // 验证新密码长度...
        $request->user()->fill([
            'password' => Hash::make($request->newPassword) // 哈希密码
        ])->save();
    }
}

哈希的密码是用make方法保存的,这个方法允许管理bcrypt散列算法的工作因素,这个算法在Laravel中被广泛使用。

根据哈希验证密码


你应该根据哈希验证密码以检查用于转换的字符串,为此,你可以使用check方法,如下所示:

if (Hash::check('plain-text', $hashedPassword)) {
    // 密码匹配...
}

请注意,check方法将纯文本与哈希密码变量对比,如果相同则结果为真,否则返回假。