РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
761 of 1392 menu

Метод check

Метод check класса Hash применяется для верификации пароля. Он принимает два параметра: первый - открытый текст пароля, второй - хешированное значение, хранящееся в базе данных. Метод возвращает true, если пароль совпадает с хешем, и false в противном случае.

Синтаксис

<?php Hash::check($plainPassword, $hashedPassword); ?>

Пример

Давайте проверим пароль при входе пользователя в систему:

<?php namespace AppHttpControllers; use AppModelsUser; use IlluminateSupportFacadesHash; use IlluminateHttpRequest; class AuthController extends Controller { public function login(Request $request) { $user = User::where('email', $request->email)->first(); if (!$user) { echo "User not found"; return; } if (Hash::check($request->password, $user->password)) { echo "Login successful"; } else { echo "Invalid password"; } } } ?>

Результат выполнения кода при правильном пароле:

"Login successful"

Пример

Проверим пароль в контроллере регистрации:

<?php namespace AppHttpControllers; use AppModelsUser; use IlluminateSupportFacadesHash; use IlluminateHttpRequest; class RegisterController extends Controller { public function register(Request $request) { $hashedPassword = Hash::make($request->password); $user = User::create([ 'name' => $request->name, 'email' => $request->email, 'password' => $hashedPassword, ]); if (Hash::check($request->password, $user->password)) { echo "User created successfully"; } else { echo "Error creating user"; } } } ?>

Результат выполнения кода:

"User created successfully"

Пример

Используем метод check для проверки пароля в middleware:

<?php namespace AppHttpMiddleware; use Closure; use IlluminateHttpRequest; use IlluminateSupportFacadesHash; use AppModelsUser; class CheckPassword { public function handle(Request $request, Closure $next) { $user = User::find($request->user_id); if (!$user) { echo "User not found"; return; } if (Hash::check($request->password, $user->password)) { return $next($request); } echo "Access denied"; } } ?>

Результат выполнения кода при успешной проверке:

"Access granted"

Смотрите также

  • метод make,
    который создает хеш пароля
  • метод needsRehash,
    который проверяет необходимость перехеширования
  • метод isHashed,
    который проверяет, является ли строка хешем
  • функцию bcrypt,
    которая создает хеш пароля с помощью алгоритма Bcrypt
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить