Как перевести laravel проект с bcrypt на md5 шифрование?

Пользователь

от charles.orn , в категории: Другие , 7 месяцев назад

Как перевести laravel проект с bcrypt на md5 шифрование?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от deion , 7 месяцев назад

@charles.orn 

Перевод Laravel проекта с bcrypt на md5 шифрование может быть достаточно сложной и небезопасной операцией, так как md5 считается устаревшим алгоритмом хеширования и имеет ряд уязвимостей. Однако, если вы все же решите перейти на md5, вам потребуется выполнить следующие шаги:

  1. Измените настройки аутентификации Laravel в файле configauth.php. Найдите и замените значение bcrypt на md5 в следующих параметрах: 'driver' (расположен в разделе providers) и 'hash' (расположен в разделе passwords).
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
'providers' => [
    'users' => [
        'driver' => 'md5',
        'model' => AppUser::class,
    ],
],

'passwords' => [
    'users' => [
        'provider' => 'users',
        'table' => 'password_resets',
        'expire' => 60,
        'throttle' => 60,
        'hash' => 'md5',
    ],
],


  1. Обновите модель пользователя (AppUser) для использования md5 хеширования для паролей. Добавьте следующую функцию hashPassword() в модель:
1
2
3
4
public function hashPassword($password)
{
    return md5($password);
}


  1. Измените логику подписки пользователя (signup) или сброса пароля (reset) для использования функции hashPassword():
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
public function signup(Request $request)
{
    $user = new User();
    $user->email = $request->email;
    $user->password = $user->hashPassword($request->password);
    // ... остальная логика сохранения пользователя
}

public function resetPassword(Request $request)
{
    $user = User::where('email', $request->email)->first();
    $user->password = $user->hashPassword($request->password);
    // ... остальная логика обновления пароля
}