网站验证码源码(学习)

简介:


本代码直接复制进去就可以用了,刷新就可以看到验证码的变动。
这个验证码已经在 DotNet迅网 (http://www.16sw.com) 使用。

Default.aspx.cs
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
// myself
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;

public  partial  class _Default : System.Web.UI.Page 
{
     public System.Web.UI.WebControls.Image verifyNumber =  new System.Web.UI.WebControls.Image();

     protected  void Page_Load( object sender, EventArgs e)
    {
         string tmp = RndNum(Convert.ToInt16( 6));
        Session[ " verify "] = tmp;
        ValidateCode(tmp);
    }

     private  void ValidateCode( string VNum)
    {
        Bitmap Img =  null;
        Graphics g =  null;
        MemoryStream ms =  null;
         int gheight = VNum.Length *  9;
        Img =  new Bitmap(gheight,  18);
        g = Graphics.FromImage(Img);
         // 背景颜色
        g.Clear(Color.WhiteSmoke);
         // 文字字体
        Font f =  new Font( " Tahoma "9);
         // 文字颜色
        SolidBrush s =  new SolidBrush(Color.Red);
        g.DrawString(VNum, f, s,  33);
        ms =  new MemoryStream();
        Img.Save(ms, ImageFormat.Jpeg);
        Response.ClearContent();
        Response.ContentType =  " image/Jpeg ";
        Response.BinaryWrite(ms.ToArray());
        g.Dispose();
        Img.Dispose();
        Response.End();
    }
     private  string RndNum( int VcodeNum)
   {
     string MaxNum= "";
     string MinNum= "";
     for ( int i =  0; i < VcodeNum; i++ )
    {
        MaxNum = MaxNum +  " 9 ";
    }
    MinNum=MaxNum.Remove( 0, 1);
    Random rd= new Random();   
     string VNum=Convert.ToString(rd.Next(Convert.ToInt32(MinNum),Convert.ToInt32(MaxNum)));
     return VNum;
   }
}



本文转自钢钢博客园博客,原文链接:http://www.cnblogs.com/xugang/archive/2008/02/18/1071803.html,如需转载请自行联系原作者

相关文章
|
安全 Java API
阿里云——Java实现手机短信验证码功能
通过手机短信发送验证码,是最普遍、最安全验证用户真实身份的方式。目前,短信验证码广泛应用于用户注册、密码找回、登录保护、身份认证、随机密码、交易确认等应用场景。本文通过调用API开发一个短信验证码为例,带您了解如何实现短信验证码功能。
5636 5
阿里云——Java实现手机短信验证码功能
|
JavaScript 开发工具 Python
KgCaptcha验证码实现笔记
闲来无聊,在网上发现了一个验证码产品KgCaptcha,下面是我用KgCaptcha开发验证码的记录。
KgCaptcha验证码实现笔记
|
安全 前端开发 定位技术
推荐一个非常好的行为验证码项目!
KgCaptcha 结合了设备指纹、行为特征、访问频率、地理位置等多项技术,有效的拦截恶意登录、批量注册,阻断机器操作,拦截非正常用户。较传统验证码相比,用户无需再经过思考或输入操作,只需轻轻一滑即可进行验证。
推荐一个非常好的行为验证码项目!
|
搜索推荐 前端开发 API
这个验证码合集,从图形到行为验证,你想要的都有-KgCaptcha
凯格行为验证码 - KgCaptcha,采用业界通用的API接口方式,对接轻松简单,即可享受带来的产品服务能力。自定义样式及风控等级,完全个性化的设置,与你的应用完美融合。
这个验证码合集,从图形到行为验证,你想要的都有-KgCaptcha
|
Java Spring
网站验证码的设计与实现
网站验证码的设计与实现
|
安全 Java 黑灰产治理
注册中验证码实现(项目案例)
今天,给大家介绍验证码的相关配置问题。众所周知,对传统验证码而言,便捷和安全长期以来一直是鱼与熊掌的关系。这可从12306与黄牛的博弈中看出端倪。
注册中验证码实现(项目案例)
|
缓存 JavaScript
验证码-简单实现
验证码: 创建缓存图片:指定宽width=90,height=30获取画笔对象设置画笔颜色填充矩形区域从字符数组中随机得到字符 char[] arr = { ‘A’, ‘B’, ‘C’, ‘D’, ‘N’, ‘E’, ‘W’, ‘b’, ‘o’, ‘y’, ‘1’, ‘2’, ‘3’, ‘4’,‘5’,‘6’ };循环4次,画4个字符设置字的颜色为随机设置字体,大小为18,将每个字符画到图片,x增加,y不变。
1177 0
|
Java BI Maven
学会这个工具的使用,让你快速生成验证码
前言 验证码是我们做人机验证最常用的方式,常用于敏感操作的验证,比如:登录、注册、修改等。 验证码的原理:不同的客户端拥有不同的 session 对象,在看到验证码图片的时刻,服务器后端代码生成图片并将随机字符存储到 session 中。
1179 0
|
Web App开发 JavaScript Java
java实现网页验证码
Servlet: package cn.bdqn.servlet; import javax.imageio.ImageIO; import javax.servlet.ServletException; import javax.
721 0