2

パスワードを忘れた場合の機能を構築しようとしているmvc3アプリケーションを構築しました。プロセスは次のとおりです。

  • 最初に、ユーザーはユーザー名を入力するように求められます

  • ユーザー名が存在する場合、セキュリティの質問が表示されます

  • ユーザーが正解を入力すると、新しく作成されたパスワードが登録時にデータベースに保存されている電子メールに送信されます

ここでは、2番目のステップまで完了し、回答の確認も完了しました。私が知りたいのは、電子メールに送信される新しいパスワードを作成するための最良の方法は何かということです。ランダムな文字列を作成するために検索し、これを見つけました。

var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
var random = new Random();
var result = new string(
    Enumerable.Repeat(chars, 8)
              .Select(s => s[random.Next(s.Length)])
              .ToArray());

同じランダムな文字列を再度作成する可能性があるかどうかはわかりませんが、新しいパスワードには適さない可能性があります。新しいパスワードを生成するための最良の方法は何でしょうか。どんな助けでもいただければ幸いです。ありがとう!

4

4 に答える 4

0

パスワードを忘れた場合は、これを使用します。

string username = member.LogName;
                    MembershipUser user = Membership.GetUser(username);
                    string generatedPassword = user.ResetPassword();
                    mail(generatedPassword ); // create custom function to mail the new 

生成されたパスワード。

于 2012-08-20T10:28:51.840 に答える
0

メソッドを使用しMembership.GeneratePasswordます。ドキュメントはこちらにあります。これは、内部で暗号化を使用するため、はるかに安全なメカニズムであり、含める英数字の長さと数を決定できるため、優れた柔軟性があります。それはいくつかの強力なパスワードを生成します。私はそれを使用しました。

于 2012-08-20T09:58:07.640 に答える