まず、暗号化しないでください。ハッシュ。第二に、暗号化しないでください。ハッシュ。
パスワードは決して回復可能であってはなりません。
読むことをお勧めします...
http://www.troyhunt.com/2010/05/owasp-top-10-for-net-developers-part-1.html
前面から背面へ。
適切なハッシュアルゴリズムを使用して、パスワードとハッシュをソルトする必要があります。ローエンドにはSHA512を使用するか、そのデータの保護に真剣に取り組んでいる場合は、BCrypthttp://code.google.com/p/bcryptnet/に沿ったものを検討してください。
暗号化ではなくハッシュのポイントは、ブルートフォース攻撃からサイトを保護することではありませんが、さらに重要なことは、データ損失からユーザーを保護することです。
すなわち
http://www.bbc.co.uk/news/technology-11998648-Gawkerhttps://www.google.co.uk/search?sourceid=chrome&ie=UTF-8&q=sony+hacked _
_
人々は、彼らの、しばしば哀れなパスワードの世話をするウェブ開発者の手に多くの信頼を置きます。それらの世話をすることは多くの違いの地獄を作ることができます。
BCryptを使用すると、ワークファクターをソルティングに設定します。また、データベースソルトを追加して(MSFTの実行方法については、トロイハントメンバーシッププロバイダーの記事を参照してください)、元のパスワード値を増やします。
BCryptサイトからの例(BCrypt.netもNUGETパッケージです)
// Pass a logRounds parameter to GenerateSalt to explicitly specify the
// amount of resources required to check the password. The work factor
// increases exponentially, so each increment is twice as much work. If
// omitted, a default of 10 is used.
string hashed = BCrypt.HashPassword(password);
// Check the password.
bool matches = BCrypt.CheckPassword(candidate, hashed);
それがお役に立てば幸いです。
もちろん、組み込みのフォーム認証暗号化システムを使用して、データを暗号化/復号化することができます。パスワードを暗号化することは、巧妙なことと危険なことの間のどこかにありますが。
また、Web構成にmachineKeyタグを追加する必要があります。マイクロソフトは、このためのジェネレーターを提供しています。http://aspnetresources.com/tools/machineKey このツールは、データ検証アルゴリズムとしてRijndaelを使用して、256ビットの復号化キーと512ビットの検証キーを作成します。
そして、もしあなたが平文のパスワードを投げ始める必要があるなら(あなたがそうしなければ撃たれるでしょう)、それはすべて聖なるものですが、サービスがIP(IPSec)によって制限されていることを確認してください。 。