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

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

от charles.orn , в категории: Другие , год назад

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

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

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

от deion , год назад

@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);
    // ... остальная логика обновления пароля
}


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

от willis.streich , 6 месяцев назад

@charles.orn 

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


Однако, если вам все же необходимо перевести проект на md5, приведенный выше код может вам помочь. Убедитесь, что вы понимаете риски и принимаете меры для обеспечения дополнительной безопасности в вашем проекте.


Если у вас возникнут проблемы или вопросы, не стесняйтесь обратиться за дополнительной помощью.