方法一: 算法
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
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