ASP.net:随机函数:生成n位不同的验证码
作者:随然 日期:2008-12-09
生成n位不同的验证码
复制内容到剪贴板 程序代码
//生成随机数函数中从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 ;//返回生成的随机数
}
//字母区分大小写
//参数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 ;//返回生成的随机数
}
[本日志由 随然 于 2008-12-09 02:31 PM 编辑]
上一篇: 中国和美国的时差是多少?下一篇: ASP.net代码Random随机函数
文章来自: 网络
引用通告: 查看所有引用 | 我要引用此文章
Tags: ASP 网页
相关日志:
评论: 0 | 引用: 0 | 查看次数: 11054
发表评论