Как сохранить пароль электронной почты и использовать его для отправки электронной почты? - PullRequest
0 голосов
/ 06 июля 2018

Я знаю, как отправить электронное письмо с C #. Для этого мне нужно знать имя пользователя и пароль пользователя.

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

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

Поэтому я хотел бы знать, какие альтернативы я мог бы использовать для безопасного хранения пароля в базе данных, и приложение может заставить его отправлять электронные письма.

Спасибо.

1 Ответ

0 голосов
/ 06 июля 2018

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

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

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