写了一个随机产生字符串的方法,字符串由大小字母和数字组成,
我这里利用的是GUID 作为源点,避免重复出现
/// <summary> /// /// </summary> /// <param name="leng">长度</param> public static void GenerateCheckCode(int leng) { var num2 = Guid.NewGuid().ToString(); while(num2.Length<leng-1){num2 += Guid.NewGuid().ToString();} int max = new Random().Next(100000, 999999); char[] list = new char[leng]; int[] array = new int[leng] ; for (int i = 0; i < leng; i++){array[i] = i;} int[] temp; temp = new int[array.Length]; for (int i = 0; i < temp.Length; i++) { temp[i] = array[i]; } Random rand = new Random(DateTime.Now.Millisecond); for (int i = 0; i < temp.Length; i++) { int x, y; int t; x = rand.Next(0, temp.Length); do{y = rand.Next(0, temp.Length);} while (y == x); t = temp[x]; temp[x] = temp[y]; temp[y] = t; } for (int i = 0; i < leng; i++) { if (i %3== 0) { list[temp[i]] = (char)(0x30 + ((ushort)(num2[i] * max % 10))); }else if (i % 3 == 1) { list[temp[i]] = (char)(0x41 + ((ushort)(num2[i] * max % 0x1a))); }else if (i % 3 == 2) { list[temp[i]] = (char)(0x61 + ((ushort)(num2[i] * max % 0x1a))); } } Console.WriteLine(string.Join("", list)); }