随机验证码生成

 1 public static void CreateValidateGraphic(string validateCode, HttpContext httpContext)
 2     {
 3         Bitmap img = new Bitmap((int)Math.Ceiling(validateCode.Length * 12.0), 20);
 4         Graphics g = Graphics.FromImage(img);
 5         try
 6         {
 7             Random random = new Random();
 8             g.Clear(Color.White);
 9
10             //图片的干扰线
11             for (int i = 0; i < 25; i++)
12             {
13                 int x1 = random.Next(img.Width);
14                 int x2 = random.Next(img.Width);
15                 int y1 = random.Next(img.Height);
16                 int y2 = random.Next(img.Height);
17                 g.DrawLine(new Pen(Color.Silver), x1, y1, x2, y2);
18             }
19             Font font = new Font("Arial", 12, (FontStyle.Bold | FontStyle.Italic));
20             System.Drawing.Drawing2D.LinearGradientBrush brush = new LinearGradientBrush(
21                 new Rectangle(0, 0, img.Width, img.Height), Color.Blue, Color.DarkRed, 1.2f, true);
22             g.DrawString(validateCode, font, brush, 3, 2);
23             //图片前景干扰点
24             for (int i = 0; i < 100; i++)
25             {
26                 int x = random.Next(img.Width);
27                 int y = random.Next(img.Height);
28                 img.SetPixel(x,y,Color.FromArgb(random.Next()));
29
30             }
31             //图片边框线
32             g.DrawRectangle(new Pen(Color.Silver),0,0,img.Width-1,img.Height-1 );
33             MemoryStream memoryStream=new MemoryStream();
34             img.Save(memoryStream,ImageFormat.Jpeg);
35             httpContext.Response.Clear();
36             httpContext.Response.ContentType = "image/jpeg";
37             httpContext.Response.BinaryWrite(memoryStream.ToArray());
38         }
39         catch (Exception)
40         {
41
42             throw;
43         }
44     }

时间: 2024-10-28 23:57:51

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

随机验证码生成代码 (转)

随机验证码生成代码 package com.zuidaima.core.util; import java.util.Random; public class RandomUtil { public static final String ALLCHAR = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; public static final String LETTERCHAR = "abc

python学习--------随机验证码生成

在python中有一个模块random,可以生成随机数,下面就用它做一个简单的随机验证码 import random check_code = "" for i in range(6):     current_number = random.randrange(0,6)     if current_number != i:         temp = chr(random.randrange(65,90))     else:         temp = random.rand

随机验证码生成(python实现)

需求:生成随机不重复验证码. 代码: #!/usr/bin/env python # encoding: utf-8 """ @author: 侠之大者kamil @file: 200number.py @time: 2016/4/13 23:33 """ import random,string def rand_str(num,length = 7): f = open("Activation_code2.txt",&qu

C#系统登录随机验证码生成及其调用方法

话不多说,直接上代码 public ValidateCode() { } /// <summary> /// 验证码的最大长度 /// </summary> public int MaxLength { get { return 10; } } /// <summary> /// 验证码的最小长度 /// </summary> public int MinLength { get { return 1; } } /// <summary> ///

生成6位的随机验证码

要求:生成6位的字母和数字组成的随机验证码. 实例1: 1 import random 2 identify_code='' 3 for i in range(1): 4 for j in range(6): 5 if i==j: 6 code=chr(random.randint(65,90)) 7 else: 8 code=random.randint(0,9) 9 identify_code+=str(code) 10 11 print(identify_code) 实例2: 1 impo

学习python:实例2.用PIL生成随机验证码

效果: 代码: # 生成随机验证码图片 import string from random import randint, sample from PIL import Image, ImageDraw, ImageFont, ImageFilter # Image 负责处理图片 # ImageDraw 画笔 # ImageFont 文字 # ImageFileter 滤镜 # 定义变量 img_size = (150,50)        # 定义画布大小 img_rgb = (255,255

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

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

利用random生成6位随机验证码

使用random生成6位随机验证码 #!/usr/bin/env python # _*_ coding:utf-8 _*_ import random code = [] for i in range(6):     #可在此处改变条件表达式来调整生成数字的机率     if i == random.randint(0,5):         # 如果随机数与0-5中的随机数相等,生成数字验证码        code.append(str(random.randint(0,9)))     

生成随机验证码的方法

1.借助列表 import random def random_code(): random_list = [] for i in range(4): ra = random.randrange(4) if ra == i: random_list.append(chr(random.randrange(97,122))) else: random_list.append(str(random.randrange(0,9))) code = "".join(random_list) r