Хеширование — это процесс преобразования строки символов в более короткое фиксированное значение или ключ, представляющий исходную строку. 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.
Проверка пароля против хэша
Вы должны проверить пароль по хешу, чтобы проверить строку, которая использовалась для преобразования. Для этого вы можете использовать метод проверки . Это показано в приведенном ниже коде —
if (Hash::check('plain-text', $hashedPassword)) { // The passwords match... }
Обратите внимание, что метод check сравнивает простой текст с переменной hashedPassword и, если результат равен true, возвращает значение true.