现在的位置: 首页 > 综合 > 正文

生成n位不同的验证码

2012年12月25日 ⁄ 综合 ⁄ 共 885字 ⁄ 字号 评论关闭

方法一:  算法

 1 //生成随机数函数中从strchar 数组中随机抽取
 2 //字母区分大小写
 3 //参数n为生成随机数的位数,一般取四位
 4 public string RandomNum(int n) //
 5 {
 6  string strchar = "0,1,2,3,4,5,6,7,8,9" ;
 7  string[] VcArray = strchar.Split(',') ;
 8  string  VNum = "" ;//由于字符串很短,就不用StringBuilder了
 9  int temp = -1 ;    //记录上次随机数值,尽量避免产生几个一样的随
10 
11 机数
12  //采用一个简单的算法以保证生成随机数的不同
13  Random rand =new Random();
14  for ( int i = 1 ; i < n+1 ; i++ ) 
15  {    
16   if ( temp != -1
17   {
18    rand =new Random(i*temp*unchecked((int)
19 
20 DateTime.Now.Ticks));
21   }    
22   //int t =  rand.Next(35) ;
23   int t=rand.Next(10);
24   if (temp != -1 && temp == t) 
25   {
26    return RndNum( n);
27   }
28   temp = t  ;
29   VNum += VcArray[t];
30   }
31  return VNum ;//返回生成的随机数
32 }
33 生成随机数后,将值赋值给一个Label控件,然后改一下Label背景的颜色,OK了
34 
35 

 

方法二: ASP.NET 2.0 HttpHandler实现生成图片验证码(示例代码下载)

             http://blog.csdn.net/ChengKing/archive/2007/01/05/1475140.aspx

抱歉!评论已关闭.