ASP.NET(C#) 验证码生成页面

<%@ Page Language="C#" %>
<%
    if (Session["vCode"] != null) Session["vCode"] = null;
    if (true)
    {
        if (Session["TryTime"] != null)
        {
            Session["TryTime"] = (int)Session["TryTime"] + 1;
            if ((int)Session["TryTime"] > 5) System.Threading.Thread.Sleep(3000);
            if ((int)Session["TryTime"] > 10) System.Threading.Thread.Sleep(5000);
            if ((int)Session["TryTime"] > 30) System.Threading.Thread.Sleep(12000);
        }
        else
        {
            Session.Add("TryTime", 1);
        }
        System.Threading.Thread.Sleep(1000);
        string vCode = string.Empty;
        Random rand = new Random();
        System.Drawing.Bitmap imgCode = new System.Drawing.Bitmap(60, 20);
        System.Drawing.Graphics gImgCode = System.Drawing.Graphics.FromImage(imgCode);
        gImgCode.Clear(System.Drawing.Color.White);
        for (int y = 0; y < 20; y += 2)
            for (int x = 0; x < 60; x += 2)
                imgCode.SetPixel(x, y, System.Drawing.Color.FromArgb(rand.Next(256), rand.Next(256), rand.Next(256)));
        for (int i = 0; i < 4; i++)
        {
            System.Drawing.Bitmap imgChar = new System.Drawing.Bitmap(20, 20);
            System.Drawing.Graphics gImgChar = System.Drawing.Graphics.FromImage(imgChar);
            gImgChar.Clear(System.Drawing.Color.Transparent);
            gImgChar.RotateTransform((float)rand.Next(-8, 8));
            vCode += "ABCDEFGHIJKLMNOPQRSTUVWXYZ"[rand.Next(26)];
            gImgChar.DrawString(vCode[i].ToString(), new System.Drawing.Font("ArialBlack", 13), new System.Drawing.SolidBrush(System.Drawing.Color.FromArgb(rand.Next(20), 50 + rand.Next(20), 100 + 100 + rand.Next(40))), 2, 0);
            gImgCode.DrawImageUnscaled(imgChar, i * 13, 0);
            gImgChar.Dispose();
            imgChar.Dispose();
        }
        Session.Add("vCode", vCode);
        System.IO.MemoryStream ms = new System.IO.MemoryStream();
        imgCode.Save(ms, System.Drawing.Imaging.ImageFormat.Jpeg);
        gImgCode.Dispose();
        imgCode.Dispose();
        Response.ClearContent();
        Response.ContentType = "image/jpeg";
        Response.BinaryWrite(ms.ToArray());
        Response.End();
    }
    else
    {
        Response.Redirect("~/", true);
    }
    %>

做网站时找到个验证码生成的东东,觉得多好的,分享下,具体的可以自己改下~~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值