У меня нет опыта работы с CodeIgniter и я не знаю, как это происходит с хешированием паролей, но вот как я подошел бы к проблеме.
Чтобы сделать что-то ясно: вы можете только «преобразовать» пароль в хэширование Laravel, если у вас есть фактический пароль (в обычном тексте). Поскольку вы не храните простой пароль, у вас его есть только в тот момент, когда пользователь входит в наш пароль.
Поэтому вы должны понимать, что эта миграция не выполняется за несколько часов. Пользователям потребуется некоторое время, чтобы ввести их пароли.
Итак, что я получаю, вы должны добавить поле в таблицу своих пользователей для пароля CodeIgniter. Назовем это ci_password
. (Или, вероятно, вам просто нужно переименовать старый столбец пароля и создать новый для пароля Laravel).
Теперь каждый раз, когда пользователь входит в систему, вы сначала проверяете, сохранен ли пароль в Laravel в базе данных и попытка входа в систему. Если нет хранимого хэша Laravel, проверьте с помощью ci_password
. (Для этого вам придется сделать CodeIgniters хэширования работы внутри приложения Laravel. К сожалению, не может вам помочь с этим)
Если ci_password
действует использование входного пароля от пользователя и генерировать хэш Laravel (используя Hash::make('secret')
) , Сохраните новый хэш в базе данных и удалите (установите на NULL
) ci_password
.
Таким образом, пароли будут перемещаться один за другим, и вам не нужно ничего делать. И, может быть, в один счастливый день все старые хэши будут перенесены, и вы можете удалить эту логику и столбец в базе данных.
Благодарим за быстрый ответ. К сожалению, этот метод будет довольно долгим, поэтому я решил просто случайно изменить свои пароли, а затем отправить их пользователям. – Alexxali
Это тоже работает;) – lukasgeiter