您的位置:首页 > 编程语言 > ASP

ASP .NET登录界面用户验证码代码

2014-09-02 16:13 661 查看
//ASP .NET用户登录界面经常用到验证码代码如下
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
Label4.Text=RandomNum(4);
}
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 ;//返回生成的随机数
}
// ''函数名称:RndNum
// ''函数参数:VCodeNum--设定返回随机字符串的位数
// ''函数功能:产生数字和字符混合的随机字符串
private string RndNum(int VcodeNum)
{
string Vchar = "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,W,X,Y,Z" ;
string[] VcArray = Vchar.Split(",".ToCharArray()); //将字符串生成数组
string VNum = "";
int i;
for(i=1;i<VcodeNum;i++)
{
System.Random ro = new Random();
double decA = ro.NextDouble();
VNum = VNum + VcArray[Convert.ToInt32(35*decA)];
}
// For i=1 to VcodeNum
// Randomize
// VNum=VNum & VcArray(Int(35*Rnd)) ''数组一般从0开始读取,所以这里为35*Rnd
// Next
return VNum;
}
//ASP .NET登录界面用户验证码代码,网络上搜集整理测试
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: