如何加密密码/电子邮件c#

如何加密密码/电子邮件c#,c#,encryption,smtp,sendmail,C#,Encryption,Smtp,Sendmail,我目前正在尝试启动并运行调试邮件。一旦发生错误,它就会将带有错误的邮件发送到我使用的邮件。但在让别人测试后,他实际上得到了我的邮件密码,并从中取出邮件,决定更改密码 public void Send() { MailMessage MailMesaji = new MailMessage(); MailMesaji.Subject = "subject"; MailMesaji.Body = "mail body"; MailMesaji.From = "send

我目前正在尝试启动并运行调试邮件。一旦发生错误,它就会将带有错误的邮件发送到我使用的邮件。但在让别人测试后,他实际上得到了我的邮件密码,并从中取出邮件,决定更改密码

public void Send() {
    MailMessage MailMesaji = new MailMessage();
    MailMesaji.Subject = "subject";
    MailMesaji.Body = "mail body";
    MailMesaji.From = "sender mail adress";
    this.MailMesaji.To.Add(new MailAddress("to mail adress"));
    System.Net.Mail.SmtpClient Smtp = new SmtpClient();
    Smtp.Host = "smtp.gmail.com"; // for example gmail smtp server
    Smtp.EnableSsl = true;
    Smtp.Credentials = new System.Net.NetworkCredential("account name", "password");
    Smtp.Send(MailMesaji);
}
所以我想知道,是否有可能加密帐户名和密码以防止盗窃


很抱歉,如果我搜索得不够好,但找不到有关如何加密电子邮件/密码的任何信息

因为您需要恢复原始密码以用于邮件发送,您必须使用某种形式的可逆加密

听起来您正处于这样一种情况:希望将源代码传递给另一个用户进行测试。该测试人员将能够简单地在
new System.Net.NetworkCredential
行中断代码,并查看传递给构造函数的内容


因此,无论您如何加密您的凭据,如果您将代码(或可执行文件)传递给其他人进行测试,那么他们将能够访问您的密码。

只需在谷歌上搜索“C#encrypt”,第一个结果是:我写了一篇关于如何进行简单而有效的加密的博文,也许它会帮助你:@SysDragon是的,这是一个普通的字符串加密。如果我尝试登录(用户凭据),它只会显示无效的用户名/密码。@JeremyHolovacs尼斯教程,但这将无法使我加密电子邮件/密码并登录到服务(在本例中为hotmail.com)并发送电子邮件。这是向开发人员发送消息的客户端应用程序吗?在这种情况下,为什么要使用电子邮件?我只是向您的网站发送一个HTTPS POST请求。我不是发送源代码,而是发送发布后生成的.exe文件。但是他设法从中获取了我的密码如果你向某人发送.exe,他们使用reflector()来查看发生了什么并不十分困难。这就是为什么应用程序会弹出对话框供用户输入凭据,而不是将它们存储在代码或配置中。我明白这一点,但凭据总是一样的。我收到了寄给我的调试日志。我必须如何在外部计算机上远程输入凭据?或者有没有其他方法可以让它自动将调试日志发送到我的邮件/数据库(a)有一个不安全的邮件服务器,并可能使自己成为垃圾邮件中继,或者(b)让用户输入其邮件服务器的smtp地址和凭据,或者(c)部署一个中间层,用户可以使用自己提供的凭据进行访问。然后,这个中间层可以提供对邮件服务器的受控访问(即仅向特定地址发送具有特定内容的特定邮件),您不能将机密放入在不受信任的系统上运行的.exe中。就这么简单。
public void Send() {
    MailMessage MailMesaji = new MailMessage();
    MailMesaji.Subject = "subject";
    MailMesaji.Body = "mail body";
    MailMesaji.From = "sender mail adress";
    this.MailMesaji.To.Add(new MailAddress("to mail adress"));
    System.Net.Mail.SmtpClient Smtp = new SmtpClient();
    Smtp.Host = "smtp.gmail.com"; // for example gmail smtp server
    Smtp.EnableSsl = true;
    Smtp.Credentials = new System.Net.NetworkCredential("account name", "password");
    Smtp.Send(MailMesaji);
}