Laravel Password Encryption Параметры для расшифровки кода - PullRequest
0 голосов
/ 22 сентября 2019

У меня есть другое требование, я не хочу декодировать пароль, но я создаю другое приложение, основанное на ЖЕ БАЗЕ ДАННЫХ ДЛЯ ЛОГИНА, так что я могу сделать, чтобы "зашифровать значение пароля так, чтобы оно совпадало с внутренним паролемзашифрованный код ".

Я хочу предоставить ВХОД из приложения CODEIGNITOR, где база данных создается приложением администратора в LARAVEL ... это проблема ...

Так что через CodeIgnitor, если кто-тоВХОД В СИСТЕМУ пароль будет зашифрован эквивалентным зашифрованным кодом приложения laravel.

Зашифрованный пароль -

$2y$10$cwd15HRgON0ytqkkV5F9zupfUOkqaii7fpbB9Kjd9I7W46LRYY0Km

И настоящий ПАРОЛЬ -

123456

Пожалуйста, помогите ...

Ответы [ 2 ]

3 голосов
/ 22 сентября 2019

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

Единственный способ проверить правильность пароля - использовать встроенную функцию php password_verify.
Эта функция будет хешироватьсяваш пароль, используя ту же соль, которая использовалась для генерации сохраненного пароля (который вы предоставляете в качестве второго аргумента, поскольку соль, которую нужно использовать, хранится в хэше пароля), которую вы уже имеете в базе данных:

$password = '123456';
$saved = 'your stored hash';

if (password_verify($password, $saved)) {
    echo 'Correct password.';
}

Вы можете проверить документацию о password_verify

2 голосов
/ 22 сентября 2019

Это не стандартное шифрование, которое можно расшифровать, это хэширование, которое является только одним (1) способом шифрования.
Чтобы это работало, вам нужно использовать один и тот же алгоритм хеширования между двумя приложениями (Laravelи CodeIgniter)

Например, laravel по умолчанию использует bcrypt для хеширования пароля, поэтому вам необходимо настроить CodeIgniter для использования того же или наоборот.

bcrypt для codeigniter

...