有時候我們會去需要產生一組亂數的字串
用於產生新密碼或者是驗證之類的,直接把它用成共用的Functuin還蠻方便的
protected void Page_Load(object sender, EventArgs e) { //使用 Response.Write(CreateRandomCode(10)); } /// <summary>產生亂數字串</summary> /// <param name="Number">字元數</param> /// <returns></returns> public string CreateRandomCode(int Number) { string allChar = "0,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"; string[] allCharArray = allChar.Split(','); string randomCode = ""; int temp = -1; Random rand = new Random(); for (int i = 0; i < Number; i++) { if (temp != -1) { rand = new Random(i * temp * ((int)DateTime.Now.Ticks)); } int t = rand.Next(36); if (temp != -1 && temp == t) { return CreateRandomCode(Number); } temp = t; randomCode += allCharArray[t]; } return randomCode; }
當然這個重複性還是蠻高的,如果一定要產生唯一的亂數
可以使用Guid類別,他會針對使用者的電腦去產生一個唯一值
重複機率可能比樂透還低
-----
若文章有侵權地方,麻煩請告知,將迅速處理,謝謝!
沒有留言:
張貼留言