1 using System; 2 3 namespace DotNet.Utilities 4 { 5 public class RandomOperate 6 { 7 // 一:随机生成不重复数字字符串 8 private int rep = 0; 9publicstring GenerateCheckCodeNum(int codeCount) 10 { 11string str = string.Empty; 12long num2 = DateTime.Now.Ticks + this.rep; 13this.rep++; 14 Random random = new Random(((int)(((ulong)num2) & 0xffffffffL)) | ((int)(num2 >> this.rep))); 15for (int i = 0; i < codeCount; i++) 16 { 17int num = random.Next(); 18 str = str + ((char)(0x30 + ((ushort)(num % 10)))).ToString(); 19 } 20return str; 21 } 2223//方法二:随机生成字符串(数字和字母混和)24publicstring GenerateCheckCode(int codeCount) 25 { 26string str = string.Empty; 27long num2 = DateTime.Now.Ticks + this.rep; 28this.rep++; 29 Random random = new Random(((int)(((ulong)num2) & 0xffffffffL)) | ((int)(num2 >> this.rep))); 30for (int i = 0; i < codeCount; i++) 31 { 32char ch; 33int num = random.Next(); 34if ((num % 2) == 0) 35 { 36 ch = (char)(0x30 + ((ushort)(num % 10))); 37 } 38else39 { 40 ch = (char)(0x41 + ((ushort)(num % 0x1a))); 41 } 42 str = str + ch.ToString(); 43 } 44return str; 45 } 4647#region4849///<summary>50/// 从字符串里随机得到,规定个数的字符串. 51///</summary>52///<param name="allChar"></param>53///<param name="CodeCount"></param>54///<returns></returns>55privatestring GetRandomCode(string allChar, int CodeCount) 56 { 57//string allChar = "1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,i,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z"; 58string[] allCharArray = allChar.Split(‘,‘); 59string RandomCode = ""; 60int temp = -1; 61 Random rand = new Random(); 62for (int i = 0; i < CodeCount; i++) 63 { 64if (temp != -1) 65 { 66 rand = new Random(temp * i * ((int)DateTime.Now.Ticks)); 67 } 6869int t = rand.Next(allCharArray.Length - 1); 7071while (temp == t) 72 { 73 t = rand.Next(allCharArray.Length - 1); 74 } 7576 temp = t; 77 RandomCode += allCharArray[t]; 78 } 79return RandomCode; 80 } 8182#endregion83 } 84} 8586//该代码片段来自于: http://www.sharejs.com/codes/csharp/8646
原文:http://www.cnblogs.com/knightyj/p/3604494.html
【说明】:本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!