2009-05-04 188 views
0

我有一个客户端应用程序需要保存SMTP服务器的用户名/密码。这些数据将进入SQL Server 2005,并由我的服务器应用程序使用。服务器应用程序将使用System.Net.Mail命名空间使用提供的凭据(以及该用户的电子邮件地址)发送电子邮件。我怎样才能轻松/安全地加密/解密密码,以便我没有通过电话线传输的明文密码?请注意,客户端和服务器应用程序不保证位于同一台计算机上。在客户端/服务器应用程序中加密/解密SMTP密码

回答

1

.NET中有整个加密命名空间 - System.Security.Cryptography(example)因此,您可以加密/解密客户端上的数据。

现在如何将密钥存储到密码中。这可以存储在加密的app.config中,如here所述。请注意,如果用户具有管理员对机器的访问权限,他们可以解密存储在你的app.config中的密钥。

+0

您似乎建议使用.Net托管的DPAPI接口来保护保护数据的密钥。为什么不直接使用DPAPI来保护数据(即System.Security.Cryptography.ProtectedData)。只需要一个解锁数据的密钥,而不是解锁密钥的密钥,最终解锁数据。 – chyne 2009-05-04 20:16:43

相关问题