一:验证码的生成实现代码

protected void Page_Load(object sender, EventArgs e)
    {
        string validateCode = CreateValidateCode();//生成验证码
        Bitmap bitmap = new Bitmap(imgWidth, imgHeight);//生成Bitmap图像
        DisturbBitmap(bitmap); //图像背景
        DrewValidateCode(bitmap, validateCode);//绘制验证码图像
        bitmap.Save(Response.OutputStream, ImageFormat.Gif);//保存图像,等待输出

}

private int codeLen = 4;//验证码长度
    private int fineness = 85;//图片清晰度
    private int imgWidth = 48;//图片宽度
    private int imgHeight = 24;//图片高度
    private string fontFamily = "Times New Roman";//字体名称
    private int fontSize = 14;//字体大小
    //private int fontStyle = 0;//字体样式
    private int posX = 0;//绘制起始坐标X
    private int posY = 0;//绘制坐标Y

private string CreateValidateCode() //生成验证码
    {
        string validateCode = "";
        Random random = new Random();// 随机数对象
        for (int i = 0; i < codeLen; i++)//循环生成每位数值
        {
            int n = random.Next(10);//数字
            validateCode += n.ToString();
        }
        Session["vcode"] = validateCode;//保存验证码 这Session是在前台调用的。
        return validateCode;// 返回验证码
    }

private void DisturbBitmap(Bitmap bitmap)//图像背景
    {
        Random random = new Random();//通过随机数生成
        for (int i = 0; i < bitmap.Width; i++)//通过循环嵌套,逐个像素点生成
        {
            for (int j = 0; j < bitmap.Height; j++)
            {
                if (random.Next(90) <= this.fineness)
                    bitmap.SetPixel(i, j, Color.LightGray);
            }
        }
    }

private void DrewValidateCode(Bitmap bitmap, string validateCode)//绘制验证码图像
    {
        Graphics g = Graphics.FromImage(bitmap);//获取绘制器对象
        Font font = new Font(fontFamily, fontSize, FontStyle.Bold);//设置绘制字体
        g.DrawString(validateCode, font, Brushes.Black, posX, posY);//绘制验证码图像
    }

二:登陆时验证验证码的正确性

if (TextBox1.Text.ToUpper().Equals(Session["vcode"]+ ""))【Session["vcode"]为生成验证码时保存的session值】

ASP.NET中登陆验证码的生成和输入验证码的验证的更多相关文章

  1. 【转】ASP.NET中服务器控件Table动态生成表格及其属性介绍

    下文所有内容转自开源中国:http://www.oschina.net/question/565065_86453#tags_nav ================================= ...

  2. 示例 - 如何在ASP.NET中应用Spider Studio生成的DLL?

    >> 接前文 "示例 - 如何在Console应用程序中应用SpiderStudio生成的DLL?", 将其运用到ASP.NET中: 1. 创建WebApplicati ...

  3. Asp.Mvc中的text实现 辅助用户输入 灰色字体

    在开发Web应用程序中经常需要用户在文本框输入信息,为了提高程序人性化设置以及用户体验效果常常需要在文本框中显示灰色字体辅助用户输入 如:

  4. asp.net中ashx生成验证码代码放在Linux(centos)主机上访问时无法显示问题

    最近有个项目加入了验证码功能,就从自己博客以前的代码中找到直接使用,直接访问验证码页面报错如下: 源代码:asp.net中使用一般处理程序生成验证码 Application Exception Sys ...

  5. ASP.NET中如何生成图形验证码

    通常生成一个图形验证码主要 有3个步骤: (1)随机产生一个长度为N的随机字符串,N的值可由开发可由开发人员自行设置.该字符串可以包含数字.字母等. (2)将随机生成的字符串创建成图片,并显示. (3 ...

  6. C# DateTime的11种构造函数 [Abp 源码分析]十五、自动审计记录 .Net 登陆的时候添加验证码 使用Topshelf开发Windows服务、记录日志 日常杂记——C#验证码 c#_生成图片式验证码 C# 利用SharpZipLib生成压缩包 Sql2012如何将远程服务器数据库及表、表结构、表数据导入本地数据库

    C# DateTime的11种构造函数   别的也不多说没直接贴代码 using System; using System.Collections.Generic; using System.Glob ...

  7. ASP.NET图形验证码的生成

    效果: 调用方法: int[] r = QAPI.VerifImage.RandomList();//取得随机数种子列 );//产生验证码字符 pictureBox1.Image = QAPI.Ver ...

  8. 在ASP.NET中使用一般处理程序生成验证码

    如果期望一般处理程序(ashx)处理Session,必须实现[System.Web.SessionState]命名空间下的[IRequiresSessionState]接口. asp.net中的验证码 ...

  9. .Net中验证码图片生成

    开发网站或平台系统,登录页面是必不可少的功能,但是现在很多人可以使用工具暴力破解网站密码,为了防止这类非法操作,需要在登录页面添加验证,验证码就是最常用的一种验证方式. 我结合了自己的经验和网上的验证 ...

随机推荐

  1. asp.net刷新本页面的六种方法总结

    第一: private void Button1_Click( object sender, System.EventArgs e )   {     Response.Redirect( Reque ...

  2. 2017-10-13 NOIP模拟赛

    入阵曲 #include<iostream> #include<cstdio> #define maxn 401 #ifdef WIN32 #define PLL " ...

  3. QuotaExceededError: The quota has been exceeded. localStorage缓存超出限制

    今天在项目中遇到了一个问题,localStorage存储超出限制.报错信息如标题.这个是因为最近做了一波优化,把导航栏和一些用户信息本地化存储,都放在localStorage里,也不是每个用户会出现这 ...

  4. cmd与bat脚本的使用

    零. bat cmd 命令大全 bat命令大全学习 一..定位到当前路径 1.定位到当前路径 2.方法二 3.win10下面 通解: %windir%\system32\cmd.exe 二 .使用命令 ...

  5. 压缩归档tar

    一:压缩.解压 1.compress/uncompress/zcat -d:解压 -c:输出到终端,不删除原文件 -v:显示详细信息 2.gzip/ungzip/zcat -d:解压 -c:将压缩或解 ...

  6. Sublime Text 3 多行游标

    选中要修改的地方ctrl+D ,要跳过不需要修改的选中的就用ctrl+k+d 选中要修改的地方ctrl+D,选中所有要修改的 alt+f3 ctrl+A  ,然后ctrl+shift+L 按住shif ...

  7. DHCP服务器的设计

    介绍 DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)通常被应用在大型的局域网络环境中,主要作用是集中的管理.分配IP地址,使网络环境中的主机动态的 ...

  8. Unity 动画系统目录

    引言 提到动画,你想到的是什么? 图片在循环播放构成的动画.UI物体的循环变色.2D 3D物体在循环运动.链条弹簧的运动.3D的玩家在行走奔跑挥剑.非人形的运动... 动画实现方式的分类 动画实现的方 ...

  9. 牛客假日团队赛1 I.接机

    链接: https://ac.nowcoder.com/acm/contest/918/I 题意: 一场别开生面的牛吃草大会就要在Farmer John的农场举办了! 世界各地的奶牛将会到达当地的机场 ...

  10. webfont应用系列(二)如何制作图标字体?

    工具: Adobe Illustrator CS5 Fontographer 5.1,下载地址 1.打开Fontographer,菜单"File"->"New&qu ...