生成 验证验证码

主页前端代码

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="bbb.aspx.cs" Inherits="bbb" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
        <div>

            <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
            <asp:Image ID="Image1" ImageUrl="~/YZM.aspx" runat="server" /><br />验证码图片  ImageUrl="~/YZM.aspx"图片来自于根目录下的YZM.aspx
            <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label><%--提示验证成功还是失败--%>
            <br />
            <asp:Button ID="Button1" runat="server" Text="验证" />

        </div>
    </form>
</body>
</html>
<script type="text/javascript">
    var count = 0;
    //验证码图片的点击事件  (验证码看不清)
    document.getElementById("Image1").onclick = function () {
        //每次点击路径重新绑定一次
        this.src = "yzm.aspx?a=" + count;
        count++;
    }

</script>

右键查看代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class bbb : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        Button1.Click += Button1_Click;
    }

    void Button1_Click(object sender, EventArgs e)
    {
        //获取用户输入的内容
        string s = TextBox1.Text;
        //将用户输入的内容全部转换成大写
        if (s.ToUpper() == Session["yzm"].ToString().ToUpper())
            Label1.Text = "正确!";
        else
            Label1.Text = "错误";
    }
}

生成验证码的web窗体
  不需要前台代码

  右键查看代码

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Drawing;//引用画画类的命名空间

public partial class YZM : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        //建立一个颜色的泛型集合
        List<Color> clist = new List<Color>();
        //将下列的颜色添加到上面的泛型集合了
        clist.Add(Color.Red);
        clist.Add(Color.Orange);
        clist.Add(Color.Pink);
        clist.Add(Color.Yellow);
        clist.Add(Color.Blue);
        clist.Add(Color.Aqua);
        clist.Add(Color.Green);
        clist.Add(Color.SeaGreen);
        clist.Add(Color.Orchid);
        //建立一个画布宽100高50   Bitmap像素固定
        Bitmap img = new Bitmap(100, 50);
        //建立一个画布 将img放到画布上
        Graphics g = Graphics.FromImage(img);
        //建立一个随机对象
        Random r = new Random();
        // 画布背景颜色  往画布填充矩形(实线画刷全部填满颜色从clist随机生成,)矩形的大小从左上角0,0到右下角100,50
        g.FillRectangle(new SolidBrush(clist[r.Next(0, clist.Count)]), 0, 0, 100, 50);
        //往画布添加直线 for循环一次自动生成10条直线(放到验证码前面先生成直线后生成验证码验证码会把直线盖住易看清 )
        for (int i = 0; i < 10; i++)
        {
            //建立画笔  画笔颜色随机生成  粗细从1到5随机生成
            Pen pe = new Pen(new SolidBrush(clist[r.Next(0, clist.Count)]), r.Next(1, 5));
            //直线起始的点  横向从0开始到100(画布长100)随机生成  纵向从0到50(画布宽50)随机生成
            Point startP = new Point(r.Next(0, 100), r.Next(0, 50));
            //直线结束的点  横向从0开始到100(画布长100)随机生成  纵向从0到50(画布宽50)随机生成
            Point endP = new Point(r.Next(0, 100), r.Next(0, 50));
            //将生成的画笔 起始点 结束点放到画布里
            g.DrawLine(pe, startP, endP);
        }

        //验证码
        string s = "";
        //验证码的全部内容
        string all = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890";
        //for循环验证码全部内容
        for (int i = 0; i < 4; i++)
        {
            //验证码的全部内容里从索引0到all的长度开始随机截取一个数一共4个数
            s += all.Substring(r.Next(0, all.Length), 1);
        }
        //往画布添加内容 四个参数 内容s  黑体30px  字体颜色从clist里随机生成  从左上角0,0,开始
        g.DrawString(s, new Font("黑体", 30), new SolidBrush(clist[r.Next(0, clist.Count)]), new PointF(0, 0));

        Session["yzm"] = s;
        //生成的图片输出                 Response.OutputStream属性 输出流
        img.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);

    }
}

效果

时间: 2024-12-20 05:51:45

生成 验证验证码的相关文章

PHP利用jquery生成各种验证码和Ajax验证

PHP生成验证码图片 PHP生成验证码的原理:使用PHP的GD库,生成一张带验证码的图片,并将验证码保存在Session中.PHP 生成验证码的大致流程有: 1.产生一张png的图片: 2.为图片设置背景色: 3.设置字体颜色和样式: 4.产生4位数的随机的验证码: 5.把产生的每个字符调整旋转角度和位置画到png图片上: 6.加入噪点和干扰线防止注册机器分析原图片来恶意破解验证码: 7.输出图片: 8.释放图片所占内存. 下面我们讲解验证码的生成过程,直接上代码. session_start(

PHP生成各种验证码和Ajax验证

网址:http://www.helloweba.com/view-blog-191.html 源码下载地址: http://files.cnblogs.com/h07061108/php%E9%AA%8C%E8%AF%81%E7%A0%81.rar PHP生成各种验证码和Ajax验证

在JSP中动态生成随机验证码,登录时后台校验验证码,以及如何避免同一个验证码被重复提交爆破密码

只需几步就可以生成动态随机的验证码,最终效果如下图: 一 前台显示页面login.jsp 其中验证码显示的是一张图片,链接指向的是生成验证码的servlet,同时点击图片后触发changeImg()这个js函数,使其动态生成一个新的验证码,这个函数中的参数t=Math.random()并不会参与验证码的生成,它的作用仅仅只是表示每次提交的并不是同一个请求,需要单独处理,完整的login.jsp代码如下: <%@ page language="java" contentType=&

随机生成数字验证码

protected void Page_Load(object sender, EventArgs e) { // 生成验证码 string checkCode = RandLetter(4); // 把新的验证码保存到Session中 Session["CheckCode"] = checkCode; // 输入验证码 CreateImages(checkCode); } /// <summary> /// 生成验证图片 /// </summary> ///

生成图形验证码

介绍生成两种类型的图形验证码: 1.普通的随机字符串;  2.随机运算表达式 图形验证码类: /// <summary> /// 图形验证码类 /// </summary> public class PicCaptcha { #region Constructed Methods /// <summary> /// 默认构造方法 /// </summary> public PicCaptcha() { } /// <summary> ///构造方

编写生成彩色验证码的Servlet

利用Ajax实现无刷新的彩色验证码时,也需要编写一个名称为PictureCheckCode.java的Servlet,该类继承HttpServlet,主要通过service()方法生成验证码. 下面将介绍在service()方法中生成彩色验证码的具体过程. (1)设置响应头信息并指定生成的响应是JPG图片,具体代码 //禁止缓存 response.setHeader("Pragma", "No-cache"); response.setHeader("Ca

PIL模块与随机生成中文验证码

今天我们要学习的内容是如何利用Python生成一个随机的中文验证码,并将图片保存为.jpeg格式. 在这之前,你首先得了解Python中的PIL库.PIL是Python Imaging Library的简称,PIL是一个Python处理 图片的库,提供了一系列模块和方法,比如:裁切,平移,旋转,改变尺寸等等.在PIL库中,任何一个图像都是用 Image对象来表示的,所以要加载一张图片,最简单的形式如下: from PIL import Image image = Image.open("1.jp

struts2生成随机验证码图片

之前想做一个随机验证码的功能,自己也搜索了一下别人写的代码,然后自己重新用struts2实现了一下,现在将我自己实现代码贴出来!大家有什么意见都可以指出来! 首先是生成随机验证码图片的action: CreateImageAction: package com.xiaoluo.action; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.image.BufferedIm

iOS 生成本地验证码

在应用程序注册.登陆或者有关支付确认的界面,经常会用到验证码,验证码有的是通过手机发送获取的,有的是在本地点击获取的,通过手机发送获取的动态验证码可以使用第三方类库实现,本地点击获取的是在本地自己绘制的,下面我们来详细讲解一下本地生成动态验证码的过程. 导入CoreGraphics.framework 验证码封装了一个UIView,在使用的时候直接把这个View加到界面上使用 CaptchaView.h #import <UIKit/UIKit.h> @interface CaptchaVie