`

生成字母数字验证码

阅读更多
ASP.net代码
 private string GenerateCheckCode()
    {
        int number;
        char code;
        string checkCode = string.Empty;
        Random random = new Random();
        for (int i = 0; i < 4; i++)
        {
            number = random.Next();
            if (number % 2 == 0)
            {
                code = (char)('0' + (char)(number % 10));
            }
            else
            {
                code = (char)('A' + (char)(number % 26));
            }
            checkCode += code.ToString();
        }
        Response.Cookies.Add(new HttpCookie("CheckCode", checkCode));
        return checkCode;
    }

    private void CreateCheckCodeImage(string checkCode)
    {
        if (checkCode == null || checkCode.Trim() == string.Empty)        
            return;
        System.Drawing.Bitmap image = new System.Drawing.Bitmap((int)Math.Ceiling((checkCode.Length * 12.5)), 22);
        Graphics g = Graphics.FromImage(image);

      try 
	{//生成随机生成器	        
		  Random random = new Random();
        g.Clear(Color .White );
//画图片的背景噪音线
        for (int i = 0; i < 25; i++)
        {
            int x1 = random.Next(image.Width );
            int x2 = random.Next(image.Width);
            int y1 = random.Next(image.Height);
            int y2 = random.Next(image.Height);
        }
        Font font = new System.Drawing.Font("Arial",12,(System.Drawing.FontStyle .Bold ));
        System.Drawing.Drawing2D.LinearGradientBrush brush = new System.Drawing.Drawing2D.LinearGradientBrush(new Rectangle(0, 0, image.Width, image.Height), Color.Blue, Color.DarkRed , 1.2f, true);
        g.DrawString(checkCode, font, brush, 2, 2);
//画图片的前景噪音点
        for (int i = 0; i < 100; i++)
        {
            int x = random.Next(image.Width);
            int y = random.Next(image.Height);
            image.SetPixel(x,y ,Color .FromArgb (random .Next ()));

        }
//画图片的边框线
        g.DrawRectangle (new Pen (Color.Silver ),0,0,image .Width-1,image .Height -1);
        System.IO .MemoryStream  ms=new System.IO.MemoryStream ();
        image.Save (ms,System .Drawing.Imaging .ImageFormat .Gif );
        Response.ClearContent();
        Response.ContentType ="image/gif";
        Response.BinaryWrite (ms.ToArray ());
	}
	catch (Exception ms)
	{
		
		Response .Write (ms.Message );
	}
    finally 
   {
          g.Dispose ();
          image.Dispose ();
   }
 }



javascript代码(新建一个aspx文件)
 <script type="text/javascript">
        function change() {
            var imgNode = document.getElementById("vimg");
            imgNode.src = "Code.aspx?t=" + (new Date()).valueOf();  // 这里加个时间的参数是为了防止浏览器缓存的问题
        }
    </script>


html代码:

<asp:Image ID="vimg" runat="server" Height ="18px" Width ="60px" src="Code.aspx" /><input type="button" value="换一张图片" onclick="change()" />

分享到:
评论

相关推荐

    含字母数字验证码生成

    含字母数字验证码生成

    汉字验证码,字母数字验证码

    在这个特定的压缩包文件中,包含的是汉字验证码和字母数字验证码的源码,主要涉及C#和VB.NET两种编程语言。下面将详细介绍这两种验证码类型及其相关技术。 首先,汉字验证码是验证码的一种形式,它由随机选择的汉字...

    Python 如何生成包含字母和数字的图片验证码 Python源码

    Python 如何生成包含字母和数字的图片验证码 Python源码Python 如何生成包含字母和数字的图片验证码 Python源码Python 如何生成包含字母和数字的图片验证码 Python源码Python 如何生成包含字母和数字的图片验证码 ...

    三种验证码代码示例(数字,数字字母混合,汉字)

    这个过程与数字验证码类似,只是生成的验证码字符串会包含数字和字母,增加了识别难度,进一步防止自动化攻击。后端代码可能包括生成这种复杂验证码的算法,以及比较用户输入的验证逻辑。 最后,`GetValid.aspx.cs`...

    jQuery数字字母组合验证码

    这种验证码通常由随机生成的数字和字母组合而成,用户在提交表单前需要正确输入显示的验证码,以此证明他们是真人而非程序。 在这款jQuery数字字母组合验证码实现中,主要涉及以下技术点: 1. **jQuery库**:...

    中文及字母数字验证码实现

    中文及字母数字验证码的实现涉及多个技术层面,包括图像生成、字符混合、扭曲处理以及识别验证。在此,我们将深入探讨这一主题。 首先,验证码的生成过程通常包括以下几个步骤: 1. **字符生成**:验证码通常由...

    Java随机生成六位验证码

    随机验证码。 - 随机生成十组六位字符组成的验证码。 - 验证码由大小写字母、数字字符组成。

    4位含字母和数字随机验证码

    用户下载后,可以直接运行这个程序,生成所需的4位字母和数字验证码。 总结来说,4位含字母和数字的随机验证码是网络安全中的重要工具,它通过随机性、复杂性和时效性等手段,有效防止了恶意软件和自动化攻击,同时...

    数字验证码练习工具.rar

    工具的核心功能是生成数字验证码。这通常涉及到随机数生成和图像处理技术。Java中的`java.util.Random`类可以生成随机数字,而验证码的图形化则可能通过`java.awt`和`javax.imageio`包实现,包括画布创建、颜色填充...

    易语言随机生成数字字母汉字验证码

    易语言随机生成数字字母汉字验证码源码,生成验证码,随机数字,随机字母,随机号码,随机汉字

    安卓验证码相关-Android随机生成验证码View支持数字字母数字字母混合汉子验证码可以设置验证码位数等.rar

    Android随机生成验证码View,支持数字,字母,数字字母混合,汉子验证码,可以设置验证码位数等.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。

    JSP生成数字验证码程序例子

    在这个"JSP生成数字验证码程序例子"中,我们将探讨如何利用JSP来生成一种常见的安全机制——数字验证码。 验证码的主要目的是防止自动化程序(如机器人或爬虫)进行非法操作,比如注册、登录或提交表单。它们通常...

    Servlet动态验证码的生成-带数字和字母

    本篇文章将深入探讨如何在Servlet中生成一种包含数字和字母的动态验证码。 验证码的主要目的是验证用户是人而不是机器,通过让用户提供显示的一串随机字符(数字和字母混合)来达到这一目的。在Servlet中实现动态...

    demo03昨天作业:编写生成n位数字验证码的函数.html

    demo03昨天作业:编写生成n位数字验证码的函数.html

    java验证码生成,数字+字母

    java验证码生成,数字+字母 史上最牛逼的验证码,很好用的,不信试试。

    php生成简单的文字+数字组合的验证码案例

    1. **随机数生成**:为了创建验证码,我们需要生成随机的文字和数字组合。PHP提供了`rand()`函数来生成随机整数,`chr()`函数可以将数字转换为对应的ASCII字符,从而得到字母。同时,我们还可以利用`mt_rand()`(更...

    用java编写的四位随机的验证码,包括数字跟字母

    用java编写的四位随机的验证码,包括数字跟字母 简单易懂

    php 随机生成数字验证码

    在PHP中,生成随机数字验证码是一项常见的功能,用于网站的安全验证,例如登录、注册或防止自动机器人操作。验证码的主要目的是确保用户是人类而非自动化程序。接下来,我们将详细探讨如何使用PHP来实现这一功能。 ...

Global site tag (gtag.js) - Google Analytics