【问题标题】:Encrypting/Decrypting an SMTP Password in a Client/Server App在客户端/服务器应用程序中加密/解密 SMTP 密码
【发布时间】:2009-05-04 19:03:38
【问题描述】:

我有一个需要为 SMTP 服务器保存用户名/密码的客户端应用程序。此数据将进入 SQL Server 2005,并由我的服务器应用程序使用。服务器应用程序将使用 System.Net.Mail 命名空间,使用提供的凭据(以及来自该用户的电子邮件地址)发送电子邮件消息。如何轻松/安全地加密/解密密码,以免纯文本密码飞过网络?请注意,客户端和服务器应用程序不保证在同一台计算机上。

【问题讨论】:

    标签: .net smtp encryption system.net.mail


    【解决方案1】:

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

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

    【讨论】:

    • 您似乎建议使用 .Net 托管的 DPAPI 接口来保护保护数据的密钥。为什么不直接使用 DPAPI 来保护数据(即 System.Security.Cryptography.ProtectedData)。只需要一把可以解锁数据的钥匙,而不是可以解锁最终解锁数据的钥匙。
    • 我认为密码应该在数据库中加密并在客户端之间共享。 IE。应该共享数据库数据的密钥...
    猜你喜欢
    • 1970-01-01
    • 2015-10-29
    • 2011-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-11
    • 1970-01-01
    • 2021-11-17
    相关资源
    最近更新 更多