как сохранить пароли, когда они понадобятся мне позже в виде обычного текста (php) - PullRequest
1 голос
/ 08 февраля 2012

Я делаю почтовый клиент в php. Моя проблема заключается в том, что мне нужно сохранять пароли в базе данных, а затем извлекать их в виде простого текста при отправке почты (они нужны для аутентификации пользователя).

Есть ли безопасный способ сделать это?

Ответы [ 4 ]

2 голосов
/ 08 февраля 2012

Если вам, тем не менее, необходимо хранить секреты для более поздних целей (не для аутентификации, как упоминалось ранее), вы можете использовать какое-то шифрование, например, PHP

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

Эта логика приложения также потребуется для расшифровки пароля.Поэтому было бы неплохо, если бы логика де / эн-шифрования выполнялась где-то изолированно от вашей базы данных, хранящей зашифрованные значения.

2 голосов
/ 08 февраля 2012

Лучше не хранить пароли в виде простого текста.

Для аутентификации сгенерируйте хеш, т.е. MD5 пароля, затем сравните хеш, хранящийся в базе данных. Если хэши совпадают, то пользователь проходит аутентификацию.

Если пользователь забывает свой пароль, пароль должен быть сброшен.

0 голосов
/ 08 февраля 2012

Вы можете запросить пароль из базы данных.

Затем, получив его, вы можете использовать

fwrite(), fopen() 

, чтобы открыть и написать на своем открытом тексте, Google, их много примеров. но я согласен с @ craig1231, неуместно и безопасно помещать жизненно важные данные в открытый текст и не хэшировать его.

0 голосов
/ 08 февраля 2012

Крейг прав.Тем не менее, я подозреваю, что ваш реальный вопрос: «Как я могу сохранить данные для дальнейшего использования?»

В этом случае у вас есть несколько вариантов:

  • Вы можете использовать базу данных, такуюкак MySQL, MSSQL, SQLite или Oracle.
  • Вы можете записать в файл на жестком диске сервера
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...