ASP.NET中怎么随机产生验证码

ASP.NET中怎么随机产生验证码,第1张

多说几句废话首先我们要明确验证码的用途在很多站点我看到所谓的验证码只是生成一简单数字,这其实只增加的用户的麻烦

使用验证码是预防对web表单的攻击,因为如果对于一些public区域的页面内容来讲,很可能遭到模拟登录的暴力破解攻击,要么轻易获得特定账户的登录信息,要么给服务器增加了大量的负荷往往很多攻击者会截获登录web页,从而也搜索出验证码,这样,验证保护措施也失去意义,

图像信息显示在web上是最安全的措施

讲一下我的思路,高手指正建一个新imgvilaspx生成如果要在页面上显示,可在相应的地拖一个控件 page_load里可写

imagebutton1imageurl = "imgvilaspx";

至于imgvil里 ,可写2个方法

private void validatecode(string vnum)

{

bitmap img=null;

graphics g=null;

memorystream ms=null;

int gheight=vnumlength12;

img=new bitmap(gheight,25);

g=graphicsfromimage(img);

//背景颜色

gclear(colorwhite);

//文字字体

font f=new font("arial black",10);

//文字颜色

solidbrush s=new solidbrush(colorblack);

gdrawstring(vnum,f,s,3,3);

ms=new memorystream();

imgsave(ms,imageformatjpeg);

responseclearcontent();

responsecontenttype="image/jpeg";

responsebinarywrite(mstoarray());

gdispose();

imgdispose();

responseend();

}

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,v,w,x,y,z";

string[] VcArray=VcharSplit(new Char [] {\',\'});

string vnum="";

int temp=-1;

random rand=new random();

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

{

if(temp!=-1)

{

rand=new random(itempunchecked((int)datetimenowticks));

}

int t=randnext(35);

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

{

return rndnum(vcodenum);

}

temp=t;

vnum+=vcarray[t];

}

return vnum;

}

load里写入调用``

string tmp = rndnum(4);//生成4位数字

>

简单的实现就是用随机数,就像waibao520说的那样做,但这个基本上起不到验证码的效果,如果要生成类型的验证码,那就需要找个头文件之类的,代码也稍微复杂点,简单几句说不清楚的了

短信随机码或短信验证码,是您在办理某些业务的时候,系统自动下发的一组随机密码,属于该业务平台对机主的身份鉴权认证,一般由纯数字、字母和数字、字母和中文字等组合方式随机生成,具体以该业务平台相关说明为准。

以上就是关于ASP.NET中怎么随机产生验证码全部的内容,包括:ASP.NET中怎么随机产生验证码、如何用VB获得网页随机图形验证码、ASP如何生成随机验证码等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/web/9794647.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存