Laravel - Хеширование

Хеширование - это процесс преобразования строки символов в более короткое фиксированное значение или ключ, представляющий исходную строку. Laravel используетHash фасад, который обеспечивает безопасный способ хранения паролей в хешированной форме.

Основное использование

На следующем снимке экрана показано, как создать контроллер с именем passwordController который используется для хранения и обновления паролей -

Следующие строки кода объясняют функциональность и использование 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метод. Этот метод позволяет управлять коэффициентом работыbcrypt алгоритм хеширования, который широко используется в Laravel.

Проверка пароля по хешу

Вы должны проверить пароль по хешу, чтобы проверить строку, которая использовалась для преобразования. Для этого вы можете использоватьcheckметод. Это показано в приведенном ниже коде -

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

Обратите внимание, что check сравнивает простой текст с hashedPassword переменная, и если результат истинный, он возвращает истинное значение.