Criptografar / descriptografar uma senha SMTP em um Cliente / Servidor App
-
03-07-2019 - |
Pergunta
Eu tenho um aplicativo cliente que precisa salvar um nome de usuário / senha para um servidor SMTP. Estes dados serão entrar em SQL Server 2005, e consumido pelo meu aplicativo de servidor. O aplicativo servidor irá utilizar o espaço de nomes System.Net.Mail para enviar mensagens de e-mail usando as credenciais fornecidas (e do endereço de e-mail desse utilizador). Como posso criptografar / descriptografar a senha facilmente / segurança para que eu não tenho as senhas de texto simples voando através do fio? Note que os aplicativos cliente e servidor não são garantidos para ser no mesmo computador.
Solução
Há toda namespace de criptografia no .NET - System.Security.Cryptography ( exemplo ) Então você pode criptografar / descriptografar os dados do cliente.
Agora, como para armazenar a chave para a cifra. Isso pode ser armazenado em App.Config criptografado como descrito aqui . Nota, porém, que, se o usuário tem acesso de administrador para a máquina, eles podem descriptografar as chaves armazenadas em seu app.