C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[4]: C#でパスワード認証プログラムを作っています。


(過去ログ 110 を表示中)

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■65590 / inTopicNo.1)  C#でパスワード認証プログラムを作っています。
  
□投稿者/ 稔 (1回)-(2013/03/10(Sun) 02:36:48)

分類:[.NET 全般] 

C#言語でパスワード認証プログラムを作っています。

If文を使う場合、

if (password.Length < 8)
valid = false;

というように、8文字以下は駄目にするとかは出来るのですが、

そのパスワードの中に必ず大文字(Uppercase)、数字(Digit)が1つは入っていないといけないというものを作る場合

どのようにすれば良いでしょうか?

引用返信 編集キー/
■65591 / inTopicNo.2)  Re[1]: C#でパスワード認証プログラムを作っています。
□投稿者/ επιστημη (41回)-(2013/03/10(Sun) 08:54:00)
επιστημη さんの Web サイト
> そのパスワードの中に必ず大文字(Uppercase)、数字(Digit)が1つは入っていないといけないというものを作る場合
 
class Program {
  public static void Main() {
    string captals = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    string digits = "0123456789";

    string target = "abracaDabra";
    System.Console.WriteLine(target.IndexOfAny(captals.ToCharArray())); // 含まれていれば 0以上、
    System.Console.WriteLine(target.IndexOfAny(digits.ToCharArray())); // さもなくば -1 が返ってきます。
  }
}

引用返信 編集キー/
■65592 / inTopicNo.3)  Re[2]: C#でパスワード認証プログラムを作っています。
□投稿者/ WebSurfer (8回)-(2013/03/10(Sun) 10:35:42)
ユーザー入力の検証に使う定番は「正規表現」だと思います。

正規表現については、以下のページが参考になると思います。「ASP.NET の」と書いてありますが、基本は C# の Windows アプリでも同じはずです。

ASP.NET の正規表現
http://msdn.microsoft.com/ja-jp/library/ms972966.aspx

How To: ASP.NET への入力を制約するために正規表現を使用する方法
http://msdn.microsoft.com/ja-jp/library/ms998267.aspx

引用返信 編集キー/
■65593 / inTopicNo.4)  Re[3]: C#でパスワード認証プログラムを作っています。
□投稿者/ επιστημη (42回)-(2013/03/10(Sun) 12:19:21)
επιστημη さんの Web サイト
2013/03/10(Sun) 12:20:17 編集(投稿者)
> ユーザー入力の検証に使う定番は「正規表現」だと思います。

場合によりけりかとは思うけども...正規表現使うなら:

class Program {
  public static void Main() {
    // "数字と小文字だけじゃダメ"の条件下で a-z,A-Z,0-9で構成される長さ8以上の文字列
    var re = new System.Text.RegularExpressions.Regex("(?!^[0-9a-z]*$)^([a-zA-Z0-9]){8,}$");
    System.Console.WriteLine(re.IsMatch("abracaDabr1")); // マッチしていれば True、
    System.Console.WriteLine(re.IsMatch("abracadabra")); // さもなくば
    System.Console.WriteLine(re.IsMatch("Abra1"      )); //   False が
    System.Console.WriteLine(re.IsMatch("abracadabr1")); //   返ってきます。
  }
}

引用返信 編集キー/
■65599 / inTopicNo.5)  Re[4]: C#でパスワード認証プログラムを作っています。
□投稿者/ 稔 (2回)-(2013/03/11(Mon) 01:53:56)
> επιστημηさん

出来ました。
ありがとうございました!
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -