`
sunxboy
  • 浏览: 2880753 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

随机生成字母数字验证码,可定义验证码的长度 (转)

阅读更多
 
java 代码
 
  1. using System;  
  2. using System.Data;  
  3. using System.Configuration;  
  4. using System.Collections;  
  5. using System.Web;  
  6. using System.Web.Security;  
  7. using System.Web.UI;  
  8. using System.Web.UI.WebControls;  
  9. using System.Web.UI.WebControls.WebParts;  
  10. using System.Web.UI.HtmlControls;  
  11. using System.Drawing;  
  12. using System.Drawing.Imaging;  
  13.   
  14. public partial class Login : System.Web.UI.Page  
  15. ...{  
  16.     protected void Page_Load(object sender, EventArgs e)  
  17.     ...{  
  18.         if (!IsPostBack)  
  19.         ...{  
  20.         this.CreateCheckCodeImage(GenerateCheckCode());  
  21.         }  
  22.    }  
  23.   private string GenerateCheckCode()  
  24.     ...{  
  25.         int number;  
  26.         char code;  
  27.         string checkCode = String.Empty;  
  28.   
  29.         System.Random random = new Random();  
  30.   
  31.         for (int i = 0; i < 15; i++)  
  32.         ...{  
  33.             number = random.Next();  
  34.             if (number % 2 == 0)  
  35.                 code = (char)('0' + (char)(number % 10));  
  36.             else  
  37.                 code = (char)('A' + (char)(number % 26));  
  38.   
  39.             checkCode += code.ToString();  
  40.         }  
  41.         Response.Cookies.Add(new HttpCookie("CheckCode", checkCode));  
  42.         return checkCode;  
  43.     }  
  44.   
  45.     private void CreateCheckCodeImage(string checkCode)  
  46.     ...{  
  47.         if (checkCode == null || checkCode.Trim() == String.Empty)  
  48.             return;  
  49.   
  50.         System.Drawing.Bitmap image = new System.Drawing.Bitmap((int)Math.Ceiling((checkCode.Length * 12.5)), 22);  
  51.         Graphics g = Graphics.FromImage(image);  
  52.   
  53.         try  
  54.         ...{  
  55.             //生成随机生成器  
  56.             Random random = new Random();  
  57.   
  58.             //清空图片背景色  
  59.             g.Clear(Color.White);  
  60.   
  61.             //画图片的背景噪音线  
  62.             for (int i = 0; i < 35; i++)  
  63.             ...{  
  64.                 int x1 = random.Next(image.Width);  
  65.                 int x2 = random.Next(image.Width);  
  66.                 int y1 = random.Next(image.Height);  
  67.                 int y2 = random.Next(image.Height);  
  68.   
  69.                 g.DrawLine(new Pen(Color.Silver), x1, y1, x2, y2);  
  70.             }  
  71.   
  72.             Font font = new System.Drawing.Font("Arial"12, (System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic));  
  73.             System.Drawing.Drawing2D.LinearGradientBrush brush = new System.Drawing.Drawing2D.LinearGradientBrush(new Rectangle(00, image.Width, image.Height), Color.Blue, Color.DarkRed, 1.2f, true);  
  74.             g.DrawString(checkCode, font, brush, 22);  
  75.   
  76.             //画图片的前景噪音点  
  77.             for (int i = 0; i < 180; i++)  
  78.             ...{  
  79.                 int x = random.Next(image.Width);  
  80.                 int y = random.Next(image.Height);  
  81.   
  82.                 image.SetPixel(x, y, Color.FromArgb(random.Next()));  
  83.             }  
  84.   
  85.             //画图片的边框线  
  86.             g.DrawRectangle(new Pen(Color.Silver), 00, image.Width - 1, image.Height - 1);  
  87.            image.Save(Server.MapPath("imgs") + "\VaImag.gif", ImageFormat.Gif);  
  88.         }  
  89.         finally  
  90.         ...{  
  91.             g.Dispose();  
  92.             image.Dispose();  
  93.         }  
  94.     }  
  95. }  
分享到:
评论

相关推荐

    java随机生成数字和字母

    接下来,我们将逐步解析提供的代码,以便更好地理解它是如何实现随机生成字母的功能的。 ##### 3.1 类定义与实例化 ```java public class CharaterGenerater { Random rand; public CharaterGenerater() { rand...

    随机生成数字字母字符串

    在IT领域,随机生成数字字母字符串是一项常见的任务,特别是在安全验证、密码生成或者验证码系统中。这个任务的主要目的是创建一个独特且不可预测的序列,以防止自动化程序的攻击。在这个场景下,我们通常会结合数字...

    java随机生成数字 验证码

    根据给定的文件信息,我们将深入探讨如何使用Java语言生成随机数字及验证码,尤其是在网络验证、安全性增强等场景中的应用。下面将详细解析文件中提到的关键知识点,包括使用`java.security.SecureRandom`类和`java....

    验证码的生成,如何随机生成验证码

    验证码通常由一组随机生成的字符组成,可以是数字、字母或它们的组合。用户在看到验证码后需要输入相同的字符序列以证明他们是人类,而不是计算机程序。这样可以防止恶意脚本自动执行任务,增加了网站的安全性。 2...

    Servlet动态验证码的生成-带数字和字母

    接下来,利用`Random`类生成一个随机数,作为要生成的验证码长度。最后,从合并的字符集中随机选取字符,组成验证码。 2. **图像生成**: 使用Java的`java.awt`和`javax.imageio`包创建一个新的空白图像。然后,...

    随机生成数字验证码数据集功能实现

    2. **验证码长度**:描述中提到验证码的字符长度为4,这是常见的设置,可以根据实际需求调整。长度增加会提高安全性,但也会增加用户输入的难度。 3. **随机生成**:为了确保每个验证码的独特性,程序会采用随机...

    QT实现随机生成验证码

    1. **定义验证码长度**:首先,我们需要决定验证码的长度,通常在4到6位之间,包含数字和大小写字母。这可以通过定义一个变量并设置其范围来实现。 2. **字符集选择**:定义一个包含所有可能字符的字符串,包括数字...

    随机生成10位数包含字母和数字

    ### 随机生成10位数包含字母和数字的方法 在编程中,经常会遇到需要生成随机字符串的需求,比如在创建验证码、密码或者用于其他安全相关的应用时。本篇文章将详细解析如何通过Java语言实现一个功能,即随机生成包含...

    一个简单的随机验证码生成程序

    2. **字符集定义**:验证码通常由特定的字符集合构成,如数字0-9和大小写字母。我们需要一个方法来从这个字符集中随机选择字符。 3. **字符串拼接**:生成的随机字符需要组合成一个字符串。这可以通过循环遍历字符...

    Python实现随机生成验证码

    本话题主要关注如何使用Python编程语言,结合PIL(Python Imaging Library)模块来实现随机生成验证码图片。PIL是Python中的图像处理库,能够创建、修改和显示图像,非常适合用于生成动态验证码。 首先,我们要导入...

    易语言生成字母和数字的验证码例子源码

    1. **定义验证码长度**:首先,我们需要确定验证码的字符数量,这可以根据实际需求来设定,例如常见的4位或6位验证码。 2. **字符集选择**:定义可用的字符集合,包括大小写字母和数字。易语言中,可以使用字符串...

    C#随机验证码随机验证码随机验证码

    验证码通常由一组随机生成的字母、数字或者两者混合组成,有时会带有扭曲、旋转、加噪等效果以增加机器识别的难度。为了生成这样的验证码,我们需要以下几个步骤: 1. **生成随机字符串**:C#中的`System.Random`类...

    jQuery实现随机数字字母验证码插件特效源码.zip

    《jQuery实现随机数字字母验证码插件特效源码详解》 在网页开发中,验证码是一种防止自动机器人或恶意用户进行非法操作的重要手段。本篇文章将详细解析一个基于jQuery实现的随机数字字母验证码插件特效源码,帮助...

    Java生成随机验证码,可以自己设置验证码长度

    上述代码定义了一个方法`generateCode(int length)`,它会生成一个指定长度的随机验证码字符串,包含大小写字母和数字。 然而,为了增强验证码的安全性,我们通常会在验证码图片上添加干扰线、点或者扭曲,以防止...

    C#中自动生成验证码的方法

    1. **定义字符集**:确定验证码可能包含的字符范围,例如数字、大写字母、小写字母等。 2. **生成随机数**:使用`System.Random`类来生成随机索引。 3. **拼接字符串**:根据随机索引从字符集中选择字符并拼接成最终...

    易语言字母数字随机组合例程

    本例程的主题是“易语言字母数字随机组合例程”,这是一个用于生成随机字符串的程序,通常在生成验证码、创建唯一标识符或者进行密码安全测试等场景中很有用。 首先,我们要理解随机数生成的概念。在计算机科学中,...

    js实现随机数字字母验证码

    JavaScript实现随机数字字母验证码的关键在于随机数生成函数的使用,以及如何将后端生成的验证信息与前端页面显示结合。在实际的应用中,后端程序(如PHP、Node.js等)通常用于生成验证码图片或者随机验证码字符串,...

    IOS_随机生成验证码

    验证码通常由一组随机字符组成,这些字符可以是数字、字母或者其他特殊符号,它们被设计成难以通过机器识别,但对人类来说是可读的。在iOS中,我们可以使用Swift编程语言来实现这一功能。 1. **随机字符生成**:在...

    JSP随机验证码实例源码

    - 在Java中,`java.util.Random` 类可用于生成随机数,我们可以基于这个类创建一个包含字母和数字的随机字符串。例如,我们可以设定字符串长度为4,包含大小写字母和数字,这样生成的验证码具有一定的复杂性。 2. ...

    随机生成验证码(不分大小写)

    验证码的基本原理是生成一串随机字符,包括大小写字母和数字,然后将其展示给用户,要求用户正确输入以证明其是真人。在VC++中实现这一功能,我们需要用到C++的标准库,尤其是库,它提供了丰富的随机数生成器。 1. ...

Global site tag (gtag.js) - Google Analytics