что я использую шифрование, а не шифрование на CodeIgniter - PullRequest
0 голосов
/ 09 марта 2019

В последней версии на CodeIgniter я использовал функцию decode()

Я использовал:

if($row->accesso == 1 && $row->username == $username $$ $this->obj->encrypt->decode("$row->password") == $password ) 

Но в php 7.2 mcrypt удалено.Если я использую encrypt или decrypt библиотеки шифрования, у меня появляется ошибка при входе.Я не могу войти на мою страницу.Вы можете мне помочь?

Спасибо!

1 Ответ

1 голос
/ 09 марта 2019

Попробуйте использовать password_hash / password_verify:

TEST:

Попробуйте сначала создать пароль пользователя с помощью password_hash(), а затем вручную сохранить его в базе данных,

password_hash('password123', PASSWORD_DEFAULT);

Будет выводиться как: $2y$10$8UgJIh.KAnDc1/b.4gb33eaBtrDRgXb2kQt8oNO0GKRe6sIFKR8IC

Затем, чтобы проверить, вы можете использовать password_verify(), чтобы проверить, совпадает ли введенный пароль пользователя с hashed password в базе данных. Используйте if else statement для этой функции. password_verify() также возвращает true для каждой совпадающей хэшированной строки. (Предположим, что $password = 'password123' и $hashed_password = $2y$10$8UgJIh.KAnDc1/b.4gb33eaBtrDRgXb2kQt8oNO0GKRe6sIFKR8IC, поэтому проверка будет:

if(password_verify($password,$hashed_password)) { successful login } else { failure }

Вы можете прочитать больше о password_hash () и password_verify () для более подробного объяснения.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...