Никогда не делай этого. Разбрасывать пароли под открытым небом.
Самый безопасный метод:
Сохраните имя пользователя в базе данных, в той же строке случайно сгенерированное значение соли, в той же строке контрольную сумму пароля, включая соль. Используйте другую таблицу для сеансов, которая ссылается на таблицу с учетными данными пользователя. Вы можете вставить в таблицу сеансов, когда пользователь регистрирует дату, которую вы хотите, чтобы срок сеанса истек (например, через 15 дней). Сохраните идентификатор сессии в файле cookie.
В следующий раз, когда пользователь войдет в систему, вы получите пароль, добавите к нему соль для пользователя, получите хеш, сравните его с тем, который у вас есть. Если они совпадают, откройте сеанс, вставив строку в таблицу сеансов и отправив идентификатор сеанса в файл cookie. Вы можете проверить, вошел ли пользователь в систему и является ли он этим файлом cookie.
Edit:
Этот метод является наиболее популярным на большинстве сайтов. Он обеспечивает хороший баланс между безопасностью и практичностью.
Вы не просто используете значение автоинкремента для идентификатора сеанса. Вы делаете это с помощью сложной контрольной суммы, которую трудно повторить. Например, объедините имя пользователя, временную метку, соль, другую случайную соль и сделайте из нее контрольную сумму md5 или sha.
Для реализации функции, включающей учетные данные пользователя на веб-сайте / в службе, чаще всего происходит обмен данными, связанными с учетными данными, между клиентом и сервером. Это предоставляет данные человеку в середине атаки и т. Д. Кроме того, файлы cookie хранятся на жестком диске пользователя. Ни один метод не может быть на 100% безопасным.
Если вам нужна дополнительная безопасность, вы можете настроить свой сайт на https. Это предотвратит кражу файлов cookie и паролей с использованием атак «человек в середине».
Примечание:
Вовлечение IP-адресов в соединение не очень хорошая идея. Чаще всего несколько клиентов приходят с одного IP-адреса через NAT и т. Д.