C# でランダムパスワードを生成する
Fil Zjazel Romaeus Villegas
2023年10月12日
このチュートリアルでは、System.Web.Security
を使用して C# でランダムなパスワードを生成する方法を示します。
C#
の System.Web.Security
メソッドを使用してランダムパスワードを生成する
.NET Framework は、指定した任意の長さのパスワードを生成するために使用できる関数を提供し、その関数 GeneratePasswords
を使用して特定の数の英数字以外の文字を含みます。これを利用するには、最初に System.Web
への参照が追加されていることを確認する必要があります。この参照を追加するには、以下の手順に従います。
-
ソリューションエクスプローラーに移動します
-
参照を右クリックします
-
参照の追加
をクリックします -
左側の
Assemblies
タブをクリックします -
System.Web.dll
ファイルを見つけてOK
をクリックします
参照を正常に追加したら、コードでその using ステートメントを使用できます。
using System.Web.Security;
GeneratePassword
関数は 2つの入力を受け入れます。1つ目は、生成するパスワードに必要な文字数です。2 番目の入力は、必要な英数字以外の文字の数を示します。生成されたパスワードは文字列変数として返され、コードで使用できます。
例:
using System;
using System.Web.Security;
namespace GeneratePassword_Example {
class Program {
static void Main(string[] args) {
// Create a for loop to run the code 10 times
for (int i = 0; i < 10; i++) {
// Store the password generated into a string variable
// The password will have a length of 8 characters and 3 non alphanumeric characters
string generated_pass = Membership.GeneratePassword(8, 3);
// Print the newly generated password to the console
Console.WriteLine("Password " + (i + 1).ToString() + ": " + generated_pass);
}
Console.ReadLine();
}
}
}
上記の例では、ループ内で GeneratePassword
関数を 10 回実行して、生成されたすべてのパスワードがどのように異なり、入力パラメーターによって設定された要件を満たしているかを示しています。
出力:
Password 1: *X!2OL%8
Password 2: _0=[qjFq
Password 3: &zGiOR=#
Password 4: *Is8&]2j
Password 5: Dv-${$Pt
Password 6: *Gkr-B4.
Password 7: )e==gu3O
Password 8: X$+LRe(e
Password 9: *2Y[.gpJ
Password 10: .W=y1zF&