欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

生成图片验证码

发布时间:2025/7/14 编程问答 58 豆豆
生活随笔 收集整理的这篇文章主要介绍了 生成图片验证码 小编觉得挺不错的,现在分享给大家,帮大家做个参考.
首先需要在网站下面添加窗体。在窗体里面生成包含数字的图片。
 Random rd = new Random(); //随机数
        int i = rd.Next(1000, 9999);
        Session["code"] = i; //将生成的随机数放到Session中方便对比
        Bitmap bitmap = new Bitmap(80, 20);//创建图片对象
        Graphics gh = Graphics.FromImage(bitmap);//将图片对象创建为绘图对象
        gh.Clear(Color.White);
        gh.DrawString(i.ToString(), new Font("宋体", 15), Brushes.Blue, new PointF(0, 0));
        gh.DrawLine(Pens.AliceBlue, new Point(0, 10), new Point(80, 10));
        gh.DrawLine(Pens.AliceBlue, new Point(0, 5), new Point(80, 10));
        bitmap.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg); //用图片对象,将对象本身保存为服务端向客户端浏览器的响应输出流,并指定文件类型。
然后在登录页面添加一张图片:
<img src="ImageCode.aspx" border="0" />它的图片源为刚才创建的绘制图片的.aspx页面。这样一个简单的图片验证码就实现了。也可以写个通用类去实现验证。
下面是一个简单的验证码方法:
 public string CreateValidate(int count)
    {
        string allchar = "1,2,3,4,5,6,7,8,9,0,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[] allchararray = allchar.Split(',');
        string randomcode = "";
        int temp = -1;
        Random rd = new Random();
        for (int i = 0; i < count; i++)
        {
            if (temp != -1)
            {
                rd = new Random(i * temp * ((int)DateTime.Now.Ticks));
            }
            int t = rd.Next(35);
            if (temp == t)
            {
                return CreateValidate(count);
            }
            temp = t;
            randomcode += allchararray[t];
        }
        Session["code"] = randomcode;
        return randomcode;
    }

转载于:https://blog.51cto.com/zhjjzhjj/403240

总结

以上是生活随笔为你收集整理的生成图片验证码的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。