2009-05-19 3 views
2

回答)電子メールアドレス(電子メールでアカウントを取得します)ASP.NETメンバシッププロバイダ - 検証ハッシュセキュリティの質問/私は忘れてUSERNAME</p> <p>ステップ1を取得追加しているページで

ステップ2)セキュリティを確認してください質問(彼らは答えを提供し、私はそれを検証する)

ステップ3)それらをユーザー名

ステップ2のメールを送信し、私がこだわっているところです。データベースに保存されているものを使用して回答を検証するにはどうすればよいですか?

すべての値がハッシュされます。

私は他の質問を参照してくださいは、次のように掲載さが、彼らは、少なくともではない明確に、質問に答えていません。

答えて

2

DB内の値はハッシュされているので、ユーザーが入力した内容とDBの内容が一致するかどうかを検証するために、ユーザーが入力した値をハッシュして2つのハッシュ値を比較します。等しい場合は検証します。

あなたは、基本的には、データベース内の値と比較する前に回答テキストをハッシュする必要があります。

また、時には解答テキストは、それがハッシュされる前の値で塩漬けされるため、検証時に同じ手順を取ることが必要となることに注意してください。プロバイダを見てみると

1

、それはあなたの希望のステップ2を実行するためにあなたのための任意のメソッドを公開しません。

次の操作を実行する必要があります。

  1. 電子メールと回答に基づいて結果を取得するストアドプロシージャを作成します。
  2. 答えがハッシュされて以来、言及したように、ユーザーが入力した値をMD5ハッシュする必要があります。 (FormsAuthentication.HashPasswordForStoringInConfigFileこのために働くだろう)
  3. は、ユーザーの情報が一致することを検証するために必要なパラメータを使用してストアドプロシージャを呼び出します。
関連する問題