public class RandomStringBuilder { /// <summary> /// 生成單個隨機數字 /// </summary> private int createNum() { Random random = new Random(Guid.NewGuid().GetHashCode()); int num = random.Next(10); return num; } /// <summary> /// 生成單個大寫隨機字母 /// </summary> private string createBigAbc() { //A-Z的 ASCII值為65-90 Random random = new Random(Guid.NewGuid().GetHashCode()); int num = random.Next(65, 91); string abc = Convert.ToChar(num).ToString(); return abc; } /// <summary> /// 生成單個小寫隨機字母 /// </summary> private string createSmallAbc() { //a-z的 ASCII值為97-122 Random random = new Random(Guid.NewGuid().GetHashCode()); int num = random.Next(97, 123); string abc = Convert.ToChar(num).ToString(); return abc; } /// <summary> /// 生成隨機字符串 /// </summary> /// <param name="length">字符串的長度</param> /// <returns></returns> public string Create(int length) { // 創建一個StringBuilder對象存儲密碼 StringBuilder sb = new StringBuilder(); //使用for循環把單個字符填充進StringBuilder對象里面變成14位密碼字符串 for (int i = 0; i < length; i++) { Random random = new Random(Guid.NewGuid().GetHashCode()); //隨機選擇里面其中的一種字符生成 switch (random.Next(3)) { case 0: //調用生成生成隨機數字的方法 sb.Append(createNum()); break; case 1: //調用生成生成隨機小寫字母的方法 sb.Append(createSmallAbc()); break; case 2: //調用生成生成隨機大寫字母的方法 sb.Append(createBigAbc()); break; } } return sb.ToString(); } }