임의의 문자를 가져 오는 방법을 찾고 있습니다. 문자열에 대문자 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를 사용할 수 있습니다. 길이가 길고 사람이 기억하는 것이 불가능하기 때문에 무작위 적입니다. –