Шифрование / дешифрование пароля SMTP в приложении клиент / сервер
У меня есть клиентское приложение, которое должно сохранить имя пользователя / пароль для SMTP-сервера. Эти данные будут поступать в SQL Server 2005 и использоваться моим серверным приложением. Серверное приложение будет использовать пространство имен System.Net.Mail для отправки сообщений электронной почты с использованием предоставленных учетных данных (и с адреса электронной почты этого пользователя). Как я могу легко / безопасно зашифровать / расшифровать пароль, чтобы у меня не было паролей в виде простого текста? Обратите внимание, что клиентские и серверные приложения НЕ гарантированно находятся на одном компьютере.
1 ответ
В.NET есть полное пространство имен для шифрования - System.Security.Cryptography ( пример). Таким образом, вы можете зашифровать / расшифровать данные на клиенте.
Теперь как хранить ключ к шифру. Это может быть сохранено в app.config в зашифрованном виде, как описано здесь. Обратите внимание, что если у пользователя есть доступ администратора к компьютеру, он может расшифровать ключи, хранящиеся в вашем app.config.