0

私は現在、その一部が「EmailService」であるASP.NET Coreアプリケーションに取り組んでいます。現在、唯一の機能は、情報メールを送信することです。ただし、クライアント独自の資格情報を使用する SMTP。そして、SMTP を有効にするために、これらの資格情報のストレージをどのように処理する必要があるかについて、私はかなり確信が持てません。

  • サーバーアドレス
  • ポート
  • メールアドレス
  • パスワード

パスワード以外はすべてデータベースに安全に保存できると思いますが、パスワードを保存するにはどうすればよいですか?

(データベースは同じマシンに保存されていません。それが何らかの違いを生む場合)

4

1 に答える 1

3

前述のように、これを処理するにはいくつかの方法があります。

私が選んだ解決策は、DI を介してアクセスできるように、サービス コレクションで実行することMicrosoft.AspNetCore.DataProtectionにより、.NET Core 組み込みのものを使用することでした。.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 で使用することをお勧めします。

于 2019-08-09T18:50:31.473 に答える