0

リッチ ドメイン モデルを利用するカスタム MembershipProvider クラスを実装中です。パスワードを正しく処理したいのでためらっています。データベース内のパスワードをハッシュしたいのですが、ASP.NET でこれを行うのに信頼できるベスト プラクティスやサンプル コードが見つからないようです。カスタム MembershipProvider クラスを作成することは可能ですが、基本クラスを利用してパスワードの詳細を処理することはできますか?

4

2 に答える 2

1

最善の策は、デフォルトのASP.NETの動作を使用するSqlMembershipProviderを除いて、ほとんどのメソッドを継承してオーバーライドすることです。EncryptPassword

public class CustomMembershipProvider : SqlMembershipProvider
{
}
于 2012-07-17T19:25:02.410 に答える
0

自分でパスワードをハッシュすることを恐れないでください。注意すべき点がいくつかあります。

1) 侵害されていないハッシュ アルゴリズムを使用する (MD5 は、sha256/sha512 は今のところありません)

2) hash = hashfunction( password + salt). これは、データベースが盗まれた場合に、事前に計算されたハッシュを使用して誰かがパスワードを簡単に取得できないようにするためです。

3) (オプション) 数回、数百回、または数千回ハッシュし、ラウンド カウンターをハッシュ化されたパスワードと共に保存します。これにより、盗まれたデータベースから平文のパスワードを取得しようとする人がさらに遅くなります。

于 2012-07-17T19:35:00.213 に答える