ASP.NET生成n位不同的验证码

王朝asp·作者佚名  2006-01-10
窄屏简体版  字體: |||超大  

//生成随机数函数中从strchar 数组中随机抽取

//字母区分大小写

//参数n为生成随机数的位数,一般取四位

public string RandomNum(int n) //

{

string strchar = "0,1,2,3,4,5,6,7,8,9" ;

string[] VcArray = strchar.Split(',') ;

string VNum = "" ;//由于字符串很短,就不用StringBuilder了

int temp = -1 ; //记录上次随机数值,尽量避免产生几个一样的随

机数

//采用一个简单的算法以保证生成随机数的不同

Random rand =new Random();

for ( int i = 1 ; i < n+1 ; i++ )

{

if ( temp != -1)

{

rand =new Random(i*temp*unchecked((int)

DateTime.Now.Ticks));

}

//int t = rand.Next(35) ;

int t=rand.Next(10);

if (temp != -1 && temp == t)

{

return RndNum( n);

}

temp = t ;

VNum += VcArray[t];

}

return VNum ;//返回生成的随机数

}

生成随机数后,将值赋值给一个Label控件,然后改一下Label背景的颜色,OK了

谢谢阅读!

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有  導航