Метод make
Метод make класса Hash применяется для хеширования паролей
перед их сохранением в базу данных. Первым параметром передаётся
строка пароля, вторым необязательным параметром - массив опций
хеширования. По умолчанию используется алгоритм bcrypt с солью,
которая генерируется автоматически.
Синтаксис
<?php
use Illuminate\Support\Facades\Hash;
Hash::make($password, $options);
?>
Пример
Давайте захешируем пароль пользователя при регистрации:
<?php
namespace App\Http\Controllers\Auth;
use App\Models\User;
use Illuminate\Support\Facades\Hash;
use App\Http\Controllers\Controller;
class RegisterController extends Controller
{
public function register(Request $request)
{
$user = User::create([
'name' => $request->name,
'email' => $request->email,
'password' => Hash::make($request->password),
]);
echo "User created successfully";
}
}
?>
Пример
Давайте захешируем пароль с дополнительными опциями алгоритма bcrypt:
<?php
use Illuminate\Support\Facades\Hash;
$password = 'secret123';
$hashed = Hash::make($password, [
'rounds' => 12,
]);
echo $hashed;
?>
Результат выполнения кода:
"$2y$12$jF8R5nZKzQHz1sJq3XeWQuJqVqY3U8kLqWqVqY3U8kLqWqVqY3U"
Пример
Давайте используем метод make в контроллере
для обновления пароля пользователя:
<?php
namespace App\Http\Controllers;
use App\Models\User;
use Illuminate\Support\Facades\Hash;
class UserController extends Controller
{
public function updatePassword(Request $request, $id)
{
$user = User::find($id);
$user->password = Hash::make($request->new_password);
$user->save();
echo "Password updated successfully";
}
}
?>
Смотрите также
-
метод
check,
который проверяет соответствие пароля его хешу -
метод
needsRehash,
который проверяет необходимость перехеширования пароля -
функция
bcrypt,
которая является упрощённой обёрткой над методомmake -
метод
isHashed,
который определяет, является ли строка уже хешем