随机字符串生成程序

来源:互联网 发布:剑雨江湖灵宠进阶数据 编辑:程序博客网 时间:2024/06/04 20:14
/// <summary> /// 自定义随机字符串生成器 /// </summary> public class Randomizer {  public Randomizer()  {   //   // TODO: 在此处添加构造函数逻辑   //  }  /// <summary>  /// 自定义随机字符串(其中可包含数字,符号,大小写字母)的生成方法.  /// </summary>  /// <param name="intLength">需要位数</param>  /// <param name="booNumber">是否生成数字</param>  /// <param name="booSign">是否生成符号</param>  /// <param name="booSmallword">是否生成小写字母</param>  /// <param name="booBigword">是否生成大写字母</param>  /// <returns></returns>  public string getRandomizer(int intLength,bool booNumber,bool booSign,bool booSmallword,bool booBigword)  {   //定义   Random ranA = new Random();   int intResultRound = 0;   int intA = 0;   string strB = "";   while (intResultRound < intLength)   {    //生成随机数A,表示生成类型    //1=数字,2=符号,3=小写字母,4=大写字母    intA = ranA.Next(1, 5);    //如果随机数A=1,则运行生成数字    //生成随机数A,范围在0-10    //把随机数A,转成字符    //生成完,位数+1,字符串累加,结束本次循环    if (intA == 1 && booNumber)    {     intA = ranA.Next(0, 10);     strB = intA.ToString() + strB;     intResultRound = intResultRound + 1;     continue;    }    //如果随机数A=2,则运行生成符号    //生成随机数A,表示生成值域    //1:33-47值域,2:58-64值域,3:91-96值域,4:123-126值域    if (intA == 2 && booSign == true)    {     intA = ranA.Next(1, 5);      //如果A=1     //生成随机数A,33-47的Ascii码     //把随机数A,转成字符     //生成完,位数+1,字符串累加,结束本次循环     if (intA == 1)     {      intA = ranA.Next(33, 48);      strB = ((char)intA).ToString() + strB;      intResultRound = intResultRound + 1;      continue;     }      //如果A=2     //生成随机数A,58-64的Ascii码     //把随机数A,转成字符     //生成完,位数+1,字符串累加,结束本次循环     if (intA == 2)     {      intA = ranA.Next(58, 65);      strB = ((char)intA).ToString() + strB;      intResultRound = intResultRound + 1;      continue;     }      //如果A=3     //生成随机数A,91-96的Ascii码     //把随机数A,转成字符     //生成完,位数+1,字符串累加,结束本次循环     if (intA == 3)     {      intA = ranA.Next(91, 97);      strB = ((char)intA).ToString() + strB;      intResultRound = intResultRound + 1;      continue;     }      //如果A=4     //生成随机数A,123-126的Ascii码     //把随机数A,转成字符     //生成完,位数+1,字符串累加,结束本次循环     if (intA == 4)     {      intA = ranA.Next(123, 127);      strB = ((char)intA).ToString() + strB;      intResultRound = intResultRound + 1;      continue;     }    }    //如果随机数A=3,则运行生成小写字母    //生成随机数A,范围在97-122    //把随机数A,转成字符    //生成完,位数+1,字符串累加,结束本次循环    if (intA == 3 && booSmallword == true)    {     intA = ranA.Next(97, 123);     strB = ((char)intA).ToString() + strB;     intResultRound = intResultRound + 1;     continue;    }     //如果随机数A=4,则运行生成大写字母    //生成随机数A,范围在65-90    //把随机数A,转成字符    //生成完,位数+1,字符串累加,结束本次循环    if (intA == 4 && booBigword == true)    {     intA = ranA.Next(65, 89);     strB = ((char)intA).ToString() + strB;     intResultRound = intResultRound + 1;     continue;    }   }   return strB;  } }