热门标签 | HotTags
当前位置:  开发笔记 > 程序员 > 正文

.net下验证码的简单实现

今天在公司忙完工作后总结验证码的实现,验证码在我们日常填写表单时很常见的。我从两个方面的实现.net下验证码的实现过程。希望能够给初学者带来帮助,也希望能起到抛砖引玉的作用:一.通过自己写代码

   今天在公司忙完工作后总结验证码的实现,验证码在我们日常填写表单时很常见的。我从两个方面的实现.net下验证码的实现过程。希望能够给初学者带来帮助,也希望能起到抛砖引玉的作用:
一.通过自己写代码实现(牵涉到GDI+相关知识)
1.新建一个专门生成验证码的页面如:ValidateCode.aspx
2.在该页面的Page_Load事件里实现动态随机生成验证码图片:

            Response.ClearContent();//需要输出图象信息 要修改HTTP头 
            Response.ContentType="image/Png";
            Response.BinaryWrite(ms.ToArray());
            g.Dispose();
            Img.Dispose();
            Response.End();
        }

 

public   string  GenerateRandom( int  length)
        
{
            System.Text.StringBuilder newRandom
=new System.Text.StringBuilder(62);
            Random rd
=new Random();
            
for(int i=0;i<length;i++)
            
{
                newRandom.Append(constant[rd.Next(
62)]);
            }

            
return newRandom.ToString();
        }

        
private   static   char [] constant = {'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',
        
'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'    }
;

3.如果要在页面a.aspx生成验证码,则在该页面添加一个图片控件,假设命名为:Image1,然后在page_Load事件中写如下代码:
   //Image.ImageURL = "ValidateCode.aspx";
   这样就可以生成验证码了,ValidateCode.aspx页面可以随便放在哪里,不过要注意Image1.ImageURL 要写对,同级可以直接写ValidateCode.aspx,上一级写../ValidateCode.aspx,很方便吧。
二.验证码控件实现
用验证码实现就更简单了。通过下载点击下载就可以得到一个dll文件和相关的帮助文档.
通过把下载下来的dll文件添加到工具箱中变成自定义控件的过程拖到页面上来就可以实现验证码了。当然还可以设置有关属性。如字体的类型。表现形式,位置,长度都可以设置,具体可以参见下载下来的帮助文档。很全面。
下图是我用这种控件生成出来的效果图:
很酷吧!


推荐阅读
author-avatar
117942101-brsh
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有