gpt4 book ai didi

c# - 以安全的方式发送电子邮件

转载 作者:太空狗 更新时间:2023-10-29 20:24:34 25 4
gpt4 key购买 nike

我正在尝试制作一个简单的应用程序来发送电子邮件。我使用 MailMessageSmtpClient 类。 SmpClient 需要登录名和密码才能工作。

  • 使用简单字符串中的登录名/密码编译应用程序是否安全?
  • 这有可能拆开它并获取密码吗?
  • 如何对潜在的攻击者隐藏它?
  • 是否可以不使用登录名/密码发送电子邮件?

最佳答案

是的,将密码以明文形式存储在应用程序的任何位置都是不安全的。不要这样做!

相反,您应该将密码加密 存储在您的 App.config 文件中(或配置文件中的其他位置,例如 machine.config):

Encrypting and Decrypting ApplicationConfigSections

或者,您可以在运行时向用户询问凭据。

如果您想避免显式提供密码,您可以通过当前登录用户的 Windows 身份验证来进行身份验证。为此,您可以使用 SmtpClient.UseDefaultCredentials用于发送邮件。当然,这仅在 SmtpServer 识别用户 Windows 凭据时才有效。


如果您想免受中间人攻击和数据包嗅探,您应该使用 SSL 来传输身份验证数据。你可以通过enabling SSL in the configuration来做到这一点或者自己设置属性:SmtpClient.EnableSsl . (.NET >= 4.0)

关于c# - 以安全的方式发送电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15115976/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com