图片验证码

验证码

#region"自定义"//验证码
  private void CreateCheckCodeImage()
  {
   Session["checkCode"]=null;
   string checkCode=this.CreateCheckCode(4).Trim();
   if(checkCode==null || checkCode==String.Empty)
   {
    return;
   }
   else
    Session["checkCode"]=checkCode;
   System.Drawing.Bitmap image = new System.Drawing.Bitmap((int)Math.Ceiling(((double)checkCode.Length * 13)), 24);
   Graphics g = Graphics.FromImage(image);//http://localhost/dx/Global.asax
   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);
     g.DrawLine(new Pen(Color.Silver), x1, y1, x2, y2);
    }
    Font font = new System.Drawing.Font("Arial", 13, (System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic));
    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());
   }
   finally
   {
    g.Dispose();
    image.Dispose();
   }
  }
  private string CreateCheckCode(int length)
  {
   int number;
   char code=(char)0;
   string checkCode = String.Empty;

   System.Random random = new Random();

   for(int i=0; i<length;i++)
   {
    number = random.Next();

    //if(number % 2 == 0)
    code = (char)('0' + (char)(number % 10));
    //    else
    //     code = (char)('A' + (char)(number % 26));
    checkCode += code.ToString();
   }
   return checkCode;
  }
  #endregion

 

时间: 2024-08-10 01:34:50

图片验证码的相关文章

24色位图,字母图片验证码识别,基于MFC对话框的程序,在线求助,高手帮帮忙

问题描述 24色位图,字母图片验证码识别,基于MFC对话框的程序,在线求助,高手帮帮忙 24色位图(如下图)字母图片验证码识别,基于MFC对话框的程序,在线求助,高手帮帮忙

一漂亮的PHP图片验证码实例

 在网上看到一个图片验证码,挻漂亮的,但是取回来发现,好像有点小问题,还是改为自己的口味吧,很多时候,如果无法使用,应该是字体的问题.程序所用的字体win7 自带的,需要上传到web目录 一.显示效果   二.代码如下    代码如下:/*  *  @Author fy  */   $imgwidth =100; //图片宽度 $imgheight =40; //图片高度 $codelen =4; //验证码长度 $fontsize =20; //字体大小 $charset = 'abcdefg

PHP生成GIF动态图片验证码

相信很多人都想过如何用PHP生成GIF动画来实现动态图片验证码,以下是实现过程. ImageCode函数通过GIFEncoder类实现的GIF动画的PHP源代码,有兴趣的朋友可以研究一下. 效果如图:   /** * ImageCode 生成GIF图片验证 * @param $string 字符串 * @param $width 宽度 * @param $height 高度 * */ function ImageCode($string = '', $width = 75, $height =

asp中使用图片验证码的方法

验证码 作者:Loster(OICQ:181306) 如果转载,请勿去掉此行,谢谢. 现在许多网站的登陆都需要输入验证码,验证码一般都是以图片的形式显示的.这样一来,能提高登陆的安全性,防止暴力猜解密码.为何要用图片显示验证码?试想,如果只是生成文本的验证码,破解人可以利用类似于小偷的技术,先把你这个页面读取,然后分析出验证码,最后进行暴力猜解.这样的话,验证码就没有任何实际意义了.废话少说,下面我就开始说一说怎样实现asp中显示图片验证码. 要实现asp中显示图片验证码,首先需要以下三个文件:

Jsp实现图片验证码的技巧

图片验证码的实现主要的技术点是如何生成一个图片.生成图片可以使用java.awt包下的类来实现.我们先写一个简单的生成图片的程序HelloImage.java.以下是代码部分. package com.vogoal.test;import java.awt.Color;import java.awt.Graphics;import java.awt.image.BufferedImage;import java.io.File;import java.io.IOException;import

Win7纯净版系统网页不显示图片验证码如何处理

  Win7纯净版系统网页不显示图片验证码如何处理          具体步骤: 1.点击右上角的"工具"图标,在弹出的菜单中点击[internet 选项]; 2.点击[安全]选项卡,点击[自定义级别]; 3.将对标记为可安全执行脚本的ActiveX控件执行脚本"."对未标记为可安全执行脚本的ActiveX控制初始化并执行脚本(不安全)"和"允许let"3个选项启用,然后点击确定; 4.在"隐私"选卡中,将[选择 I

12306验证码怎么用?12306火车票订票网站图片验证码使用教程

  12306火车票订票网站的验证码一直是困扰大家的一个大问题,数字+字母的验证码太简单以致于被自动识别验证码的火车票抢票软件滥用,太复杂又让广大乘客很受伤.12306推出了全新的图案验证码,点击"所有的"某个物品图案实现验证.下面跟小编一起来来看看12306图片验证码怎么操作的吧,希望会对大家有所帮助的. 12306图案验证码操作指南 1.进入网站后如看到如下图所示验证码,点击[点此开始验证]链接. 2.出现验证码图片,根据文字提示点击相应的图片.比如上图文字提示为"所有的

12306图片验证码识别测试工具地址

  所谓上有政策,下有对策,昨日小编为大家介绍了12306网站机智的将文字数字验证码改为了图片验证码,抢票软件当然不是吃素的,于是就有网友研发除了12306图片验证码识别测试工具,下面是12306图片验证码识别测试工具地址,一起来体验一下吧. 12306图片验证码识别测试工具地址 工具名:12306图片验证码识别测试工具 原理:可以辨识每个图片上的物品得出结果供用户选择. 注意:纯展示性质.可以跑起来玩.识别率不高,没有用到识图返回的其他信息,理论上还有原图.相似图等可用.没有用 Google

java web中图片验证码功能实现

用户在注册网站信息的时候基本上都要数据验证码验证.那么图片验证码功能该如何实现呢? 大概步骤是: 1.在内存中创建缓存图片 2.设置背景色 3.画边框 4.写字母 5.绘制干扰信息 6.图片输出 废话不多说,直接上代码 package com.lsgjzhuwei.servlet.response; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.image.Buffer

生成随机图片验证码

项目中,生成随机图片验证码代码:先保存,后学习: package cn.digitalpublishing.servlet; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.image.BufferedImage; import java.io.ByteArrayOutputStream; import java.io.IOException; import javax.