0

私は珍しい設定をしています。1 台のマシンに、標準のメンバーシップと暗号化されたパスワードを使用する Web アプリケーションがあります。別のマシンには、Web アプリケーションで提供されたものと同じユーザー資格情報を使用する必要がある Windows アプリケーションがあります。データベースから暗号化されたパスワードを取得し、それを使用してログインできるように Windows アプリで復号化できる必要があります。(Windows アプリは、特定のユーザー名に一致する暗号化されたパスワードを WCF サービス経由で Web サイトに要求します)。

私が見つけたすべての記事は、メンバーシップ プロバイダーから派生するように指示していますが、私の Windows アプリにはメンバーシップ プロバイダーがありません。そして、それをインポートすることはオプションではありません。

利用可能な情報 (マシンキーなどを知っている) からパスワードを解読する方法はありますか? Windows Forms アプリケーション内ですべて?

4

2 に答える 2

1

あなたはこう言います:

Windows アプリは、特定のユーザー名に一致する暗号化されたパスワードを WCF サービス経由で Web サイトに要求します。

WCF サービスにプレーンテキストのパスワードを返させないのはなぜですか? 明らかに、WCF サービスは適切なセキュリティ (HTTPS、net.tcp など) を使用する必要があります。

安全のためには、発信者を適切に認証/承認して、平文のパスワードを誰にも渡さないようにする必要があります。しかし、パスワードを解読できるようにする暗号化キーへのアクセス権をクライアントに与えるよりも、おそらくこれを行う方が安全です。

于 2012-09-26T09:52:45.227 に答える
0

解読する方法ですが、私はそれを使用していません。

MembershipProvider.DecryptPassword

そして、ジョー+1に同意します。キーよりもパスワードを渡します。

于 2012-09-26T12:35:11.670 に答える