废话不多说,直接上代码。
代码1.
Random m_rnd
=
new
Random();
public char getRandomChar()
{
int ret = m_rnd.Next( 122 );
while (ret < 48 || (ret > 57 && ret < 65 ) || (ret > 90 && ret < 97 ))
{
ret = m_rnd.Next( 122 );
}
return ( char )ret;
}
public string getRandomString( int length)
{
StringBuilder sb = new StringBuilder(length);
for ( int i = 0 ; i < length; i ++ )
{
sb.Append(getRandomChar());
}
return sb.ToString();
}
public char getRandomChar()
{
int ret = m_rnd.Next( 122 );
while (ret < 48 || (ret > 57 && ret < 65 ) || (ret > 90 && ret < 97 ))
{
ret = m_rnd.Next( 122 );
}
return ( char )ret;
}
public string getRandomString( int length)
{
StringBuilder sb = new StringBuilder(length);
for ( int i = 0 ; i < length; i ++ )
{
sb.Append(getRandomChar());
}
return sb.ToString();
}
代码2:--支持自定义字符混合
//
随机字符串生成器的主要功能如下:
// 1、支持自定义字符串长度
// 2、支持自定义是否包含数字
// 3、支持自定义是否包含小写字母
// 4、支持自定义是否包含大写字母
// 5、支持自定义是否包含特殊符号
// 6、支持自定义字符集
/// <summary>
/// 生成随机字符串
/// </summary>
/// <param name="length"> 目标字符串的长度 </param>
/// <param name="useNum"> 是否包含数字,1=包含,默认为包含 </param>
/// <param name="useLow"> 是否包含小写字母,1=包含,默认为包含 </param>
/// <param name="useUpp"> 是否包含大写字母,1=包含,默认为包含 </param>
/// <param name="useSpe"> 是否包含特殊字符,1=包含,默认为不包含 </param>
/// <param name="custom"> 要包含的自定义字符,直接输入要包含的字符列表 </param>
/// <returns> 指定长度的随机字符串 </returns>
public string GetRnd( int length, bool useNum, bool useLow, bool useUpp, bool useSpe, string custom)
{
byte [] b = new byte [ 4 ];
new System.Security.Cryptography.RNGCryptoServiceProvider().GetBytes(b);
Random r = new Random(BitConverter.ToInt32(b, 0 ));
string s = null , str = custom;
if (useNum == true ) { str += " 0123456789 " ; }
if (useLow == true ) { str += " abcdefghijklmnopqrstuvwxyz " ; }
if (useUpp == true ) { str += " ABCDEFGHIJKLMNOPQRSTUVWXYZ " ; }
if (useSpe == true ) { str += " !\ " #$ %& ' ()*+,-./:;<=>?@[\\]^_`{|}~"; }
for ( int i = 0 ; i < length; i ++ )
{
s += str.Substring(r.Next( 0 , str.Length - 1 ), 1 );
}
return s;
}
// 1、支持自定义字符串长度
// 2、支持自定义是否包含数字
// 3、支持自定义是否包含小写字母
// 4、支持自定义是否包含大写字母
// 5、支持自定义是否包含特殊符号
// 6、支持自定义字符集
/// <summary>
/// 生成随机字符串
/// </summary>
/// <param name="length"> 目标字符串的长度 </param>
/// <param name="useNum"> 是否包含数字,1=包含,默认为包含 </param>
/// <param name="useLow"> 是否包含小写字母,1=包含,默认为包含 </param>
/// <param name="useUpp"> 是否包含大写字母,1=包含,默认为包含 </param>
/// <param name="useSpe"> 是否包含特殊字符,1=包含,默认为不包含 </param>
/// <param name="custom"> 要包含的自定义字符,直接输入要包含的字符列表 </param>
/// <returns> 指定长度的随机字符串 </returns>
public string GetRnd( int length, bool useNum, bool useLow, bool useUpp, bool useSpe, string custom)
{
byte [] b = new byte [ 4 ];
new System.Security.Cryptography.RNGCryptoServiceProvider().GetBytes(b);
Random r = new Random(BitConverter.ToInt32(b, 0 ));
string s = null , str = custom;
if (useNum == true ) { str += " 0123456789 " ; }
if (useLow == true ) { str += " abcdefghijklmnopqrstuvwxyz " ; }
if (useUpp == true ) { str += " ABCDEFGHIJKLMNOPQRSTUVWXYZ " ; }
if (useSpe == true ) { str += " !\ " #$ %& ' ()*+,-./:;<=>?@[\\]^_`{|}~"; }
for ( int i = 0 ; i < length; i ++ )
{
s += str.Substring(r.Next( 0 , str.Length - 1 ), 1 );
}
return s;
}