ASP.NET 生成随机验证码

我一直觉得用第三方控件生成的验证码太花了,用户体验不好,有的很难看清楚到底是什么,还是那种比较清楚一点的给人的感觉好点。
    /// <summary>
    /// 这个方法用来生成随机验证码
    /// </summary>
    private void ShowCode()
    {
        Random ran = new Random();
        int intRandom = ran.Next(10001, 99999);

        //将随机数写入Session
        Session.RemoveAll();
        Session["RandCode"] = intRandom;
        //字体名
        string strFontName = "Arial";
        //字体大小
        int intFontSize = 9;
        //图像宽
        int intWidth = 50;
        //图像长
        int intHeight = 18;
        //背景颜色
        Color bgColor = ColorTranslator.FromHtml("#EFF3FF");
        //前景色
        Color foreColor = ColorTranslator.FromHtml("#00ff00");
        //字体
        Font forFont = new Font(strFontName, intFontSize, FontStyle.Bold);
        //生成图片
        Bitmap newBitmap = new Bitmap(intWidth, intHeight, PixelFormat.Format32bppArgb);
        Graphics g = Graphics.FromImage(newBitmap);
        //定义一个四方形框与字片一样大小
        Rectangle newRect = new Rectangle(0, 0, intWidth, intHeight);
        //背景色
        g.FillRectangle(new SolidBrush(bgColor), newRect);
        //写字
        g.DrawString(intRandom.ToString(), forFont, new SolidBrush(foreColor), 2, 2);
        MemoryStream mStream = new MemoryStream();
        //存入MemoryStream
        newBitmap.Save(mStream, ImageFormat.Gif);
        g.Dispose();
        newBitmap.Dispose();
        //发送
        //Response.ClearContent();
        Response.ContentType = "image/GIF";
        FileStream fis = new FileStream(MapPath("images/") + "yanzheng.gif", FileMode.Create);
        fis.Write(mStream.ToArray(), 0, mStream.ToArray().Length);
        fis.Close();
        this.Image1.ImageUrl = "images/yanzheng.gif";

        //Response.End();
    }

 

在项目里面指定一个文件夹命名为images,这样就OK了。

时间: 2024-12-27 04:41:03

ASP.NET 生成随机验证码的相关文章

ASP.NET生成图形验证码的方法详解_实用技巧

本文实例讲述了ASP.NET生成图形验证码的方法.分享给大家供大家参考,具体如下: 通常生成一个图形验证码主要 有3个步骤: (1)随机产生一个长度为N的随机字符串,N的值可由开发可由开发人员自行设置.该字符串可以包含数字.字母等. (2)将随机生成的字符串创建成图片,并显示. (3)保存验证码. 新建一个页面为default.aspx,  放置一个TextBox控件和一个Image控件,TextBox控件用于输入生成的字符串,Image控件用于显示字符串,它的图片就为生成的图形验证码image

Android自定义控件深入学习 Android生成随机验证码_Android

在上一篇的文章中介绍了自定义控件的属性,详情见<详解Android自定义控件属性TypedArray以及attrs>.那么在这基础上实现随机验证码生成,里面的代码是自定义控件以及涉及到自定义view绘画.1.先看实现的效果图 看到这个效果图是不是感觉还可以.那么就看看源码吧.2.attr文件 <?xml version="1.0" encoding="utf-8"?> <resources> <attr name="

Android自定义控件深入学习 Android生成随机验证码

在上一篇的文章中介绍了自定义控件的属性,详情见<详解Android自定义控件属性TypedArray以及attrs>.那么在这基础上实现随机验证码生成,里面的代码是自定义控件以及涉及到自定义view绘画. 1.先看实现的效果图 看到这个效果图是不是感觉还可以.那么就看看源码吧. 2.attr文件 <?xml version="1.0" encoding="utf-8"?> <resources> <attr name=&qu

利用iOS绘制图片生成随机验证码示例代码_IOS

先来看看效果图 实现方法 .h文件 @property (nonatomic, retain) NSArray *changeArray; @property (nonatomic, retain) NSMutableString *changeString; @property (nonatomic, retain) UILabel *codeLabel; -(void)changeCode; @end .m文件 @synthesize changeArray = _changeArray;

asp.net(C#) 生成随机验证码的代码_实用技巧

常用的生成验证码程序 ,图片效果如下:    源程序如下: 复制代码 代码如下: using System;  using System.IO;  using System.Drawing;  using System.Drawing.Imaging;  using System.Text;  using System.Collections;  using System.Web;  using System.Web.UI;  using System.Web.UI.WebControls; 

python生成随机验证码(中文验证码)示例_python

复制代码 代码如下: # -*- coding: utf-8 -*-import Image,ImageDraw,ImageFontimport randomimport math, string  class RandomChar():  """用于随机生成汉字"""  @staticmethod  def Unicode():    val = random.randint(0x4E00, 0x9FBF)    return unichr(v

php 生成随机验证码图片代码_php技巧

复制代码 代码如下: <?php /** 默认首页 **/ class DefaultController extends AppController { public function index() { $len = 5; $str = "ABCDEFGHIJKLNMPQRSTUVWXYZ123456789"; $im = imagecreatetruecolor ( 70, 20 ); $bgc = imagecolorallocate($im, 255, 255, 255

ASP Randomize生成随机IP实例代码

实例  代码如下 复制代码 <% randomize ip=int(225*rnd)+25&"."&int(225*rnd)+25&"."&int(225*rnd)+25&"."&int(225*rnd)+25 response.write(ip) %> 关于Randomize 初始化随机数生成器. Randomize [number] number 参数可以是任何有效的数值表达式. 说

asp.net生成字母和数字混合图形验证码_实用技巧

验证码技术是网站开发过程中比较重要的技术,可以防止非法人员利用注册机或者登陆工具来攻击我们的网站.下面是效果图: 具体实现方法如下: 1.主要思路是:引用Using System.Drawing命名空间,利用Graphics的FromImage方法创建一个画布,同时设置画布的宽和高,然后通过Graphics类 的DrawString方法随机生成的字符串绘制到画布中,绘制验证码的同时,在画布中利用SetPixel方法绘制一些色点,从而防止非法人员利用机器 人来进行登陆.当我们绘制验证码完毕后,在需