ランダムな文字を取得する方法を探しています。文字列に2つ以上の大文字、少なくとも1つの数字と特殊文字を含める必要があります。彼らがいない特殊文字と数字を持っているC#RNGCryptoServiceProviderと特殊文字
ZNQzvUPFKOL3x
BQSEkKHXACGO
:
public static string CreateRandomPassword(int Length)
{
string _Chars = "abcdefghijkmnopqrstuvwxyzABCDEFGHJKLMNOPQRSTUVWXYZ[_!23456790";
Byte[] randomBytes = new Byte[Length];
var rng = new RNGCryptoServiceProvider();
rng.GetBytes(randomBytes);
var chars = new char[Length];
int Count = _Chars.Length;
for(int i = 0;i<Length;i++)
{
chars[i] = _Chars[(int)randomBytes[i] % Count];
}
return new string(chars);
}
いくつかの結果: はここに私のコードです。
チャンスは[ '(非常に低いです_ ! ')。 – khlr
小文字アルファベット、大文字のアルファベット、数字、特殊文字の分離された文字列....これらの文字列のランダムなセットを生成し、それらをランダムな方法で混合します。 (良い方法があるかもしれません) –
あなただけの努力を保存し、guidを使用するかもしれません。長さのために道がランダムになり、人間が覚えていることも同様に不可能です。 –