繁体   English   中英

如何在ASP.NET Core中处理用于登录SMTP客户端的密码存储?

[英]How do i handle password storage for sign-in to the SMTP client in ASP.NET Core?

我目前正在使用ASP.NET Core应用程序,其中一部分是“ EmailService”。现在,它的唯一功能是通过发送信息电子邮件。 SMTP,使用客户端自己的凭据。 我不确定如何处理这些凭据的存储以启用SMTP,它需要:

  • 服务器地址
  • 港口
  • 邮件地址
  • 密码

我想除了密码以外的所有密码都可以安全地存储在数据库中,但是我该如何存储密码?

(如果有任何区别,数据库不会存储在同一台计算机上)

如上所述,有几种处理方法。

我选择的解决方案使用内置的东西,从.NET的核心是Microsoft.AspNetCore.DataProtection.AddDataProtection()上的服务集合,以便它可以通过DI进行访问。

通过在控制器中执行以下操作:

private IDataProtector myProtector;

public Mycontroller(IDataProtectionProvider provider)
{
    this.myProtector = provider.CreateProtector("myPurpose");

    var encryptedString = this.myProtector.Protect("somestring");

    var decryptedstring = this.myProtector.Unprotect(encryptedString);

}

它支持许多不同的密钥配置,我建议将其与.NET Core一起使用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM