初めてASP.Net Webサイトを作成しています。ログインページのパスワードをそのままではなく、エンコードされた形式でデータベースに保存したいと考えています。ただし、暗号化と復号化は自動的に行われる必要があります。
これに対する提案はありますか??
初めてASP.Net Webサイトを作成しています。ログインページのパスワードをそのままではなく、エンコードされた形式でデータベースに保存したいと考えています。ただし、暗号化と復号化は自動的に行われる必要があります。
これに対する提案はありますか??
セキュリティ上の理由から、保存されているパスワードの復号化はできません。ユーザーが認証を試みた場合は、入力したパスワードを再度「暗号化」して、データベースの値と比較します。
これを行うための数学的方法は、暗号化ハッシュ関数と呼ばれます。レインボーテーブル攻撃から保護するために、ハッシュもソルトする必要があります。
これを自分で実装したい場合は、.NETでこれを行う方法についてSOに関する多くの質問があります。それらのいくつかを次に示します。
一方、ASP.NETを使用しているため、作業が楽になり、必要なすべてのセキュリティ処理を既に実行している組み込みのASP.NETメンバーシッププロバイダーを使用するだけで済みます。始めるためのMSDNの記事は次のとおりです。