2009-05-04 13 views
0

SMTPサーバーのユーザー名/パスワードを保存する必要のあるクライアントアプリケーションがあります。このデータはSQL Server 2005に送られ、サーバーアプリケーションで消費されます。サーバーアプリケーションは、System.Net.Mail名前空間を使用して、提供された資格情報(およびそのユーザーの電子メールアドレス)を使用して電子メールメッセージを送信します。パスワードを簡単に/安全に暗号化/復号化して、プレーンテキストのパスワードが電線を飛び越さないようにするにはどうすればよいですか?クライアントとサーバーのアプリケーションは、同じコンピュータ上にあることが保証されていません。クライアント/サーバーアプリケーションでSMTPパスワードの暗号化/復号化

答えて

1

.NETに暗号化ネームスペースがあります。System.Security.Cryptography(example)クライアント上のデータを暗号化/復号化することができます。

ここで、暗号に鍵を格納する方法を説明します。これは、hereのように暗号化されたapp.configに格納できます。ただし、ユーザーがマシンに管理者アクセス権を持っている場合は、app.configに格納されているキーを復号化できます。

+0

DPAPIへの.Net管理インターフェイスを使用して、データを保護するキーを保護することを推奨しているようです。 DPAPIを直接使用してデータ(つまり、System.Security.Cryptography.ProtectedData)を保護するだけではどうでしょうか。データのロックを解除するキーではなく、データのロックを解除するキーではなく、データのロックを解除するキーが1つだけあります。 – chyne

+0

私はパスワードがデータベースで暗号化され、クライアント間で共有されるべきだと考えました。私。データベースのデータのキーを共有する必要があります... – Rashack