我目前正在开发一个 ASP.NET Core 应用程序,其中一部分是“电子邮件服务”,现在,它唯一的功能是通过发送信息电子邮件。SMTP,但是使用客户端自己的凭据。我非常不确定应该如何处理这些凭据的存储,要启用 SMTP,它需要:服务器地址港口邮件地址密码我想除了密码之外的所有内容都可以安全地存储在数据库中,但是我该如何存储密码呢?(数据库不存储在同一台计算机上,如果这会产生任何差异)
1 回答
qq_花开花谢_0
TA贡献1835条经验 获得超7个赞
如前所述,有多种方法可以处理此问题。
我选择的解决方案是使用 .NET Core 内置的东西,通过对服务集合Microsoft.AspNetCore.DataProtection进行操作,以便可以通过 DI 访问它。.AddDataProtection()
这是在控制器中通过以下方式完成的:
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 一起使用。
- 1 回答
- 0 关注
- 117 浏览
添加回答
举报
0/150
提交
取消