ASP.NET随机码生成示例

精贴 置顶
2304 0

现在很多网页登陆的时候都使用了随机图片的方式,是一种简单、有效的防止黑客恶意攻击的手段。今天看了一些网上的资料,明白其生成原理:从样本中,获取随机字符串,随机字符串保存进session,并以位图的方式形成随机码图片。

实现:
添加命名空间

using System.Drawing;
using System.Drawing.Imaging;
using System.Drawing.Drawing2D;
生成页代码

using System;
using System.Data;
using System.Configuration;
using System.Collections;
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;
using System.Drawing;
using System.Drawing.Imaging;
using System.Drawing.Drawing2D;

public partial class getRandImg : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        //生成随机码图片
        SetValidateCode();
        //生成页面不保存到cache
        Response.Cache.SetNoStore();
    }

    //设置验证码
    private void SetValidateCode()
    {
        //新建位图
        Bitmap newBitmap = new Bitmap(
                                        71,
                                        23,
                                        PixelFormat.Format32bppArgb
                                     );
        //从位图获得绘图画面
        Graphics g = Graphics.FromImage(newBitmap);
        //随机数生成器
        Random r = new Random();
        //绘图画面清空
        g.Clear(Color.White);
        //绘图画面划线干扰
        for (int i = 0; i < 50; i++)
        {
            int x1 = r.Next(newBitmap.Width);
            int x2 = r.Next(newBitmap.Width);
            int y1 = r.Next(newBitmap.Height);
            int y2 = r.Next(newBitmap.Height);
            g.DrawLine(new Pen(
                                Color.FromArgb(r.Next())),
                                x1,
     &nb

  • 没有任何评论
今日天气 ···

···

···

···

热门排行
CSS cursor鼠标样式一览表 2012-06-25
.NET后台写JS代码 2011-11-03
网站地址多出jdfwkey的问题解析及... 2010-08-25
数据库xxx的日志已满,请备份该数... 2013-07-19
百度、google、Yahoo网站地图制作... 2011-01-30
<a>标签的伪类书写顺序问题... 2010-09-04
什么是长尾关键词? 2010-09-24
CEO名言 2010-08-31
Mysql 主从数据库同步 2010-09-12
用ASP实现网页BBS 2010-11-01
博主推荐
本个人博客微信公众平台上线啦~~... 2013-10-13
饼哥网络互联上线啦~~要买域名空... 2013-09-20
网站title标题如何正确修改不会被... 2013-08-26
饼哥通讯录系统上线啦,欢迎大家... 2013-08-24
ASP .NET MYSQL 的简单分页 并不... 2013-08-19
网站有弹窗广告这样的站点,百度... 2013-08-17
做淘宝SEO优化需要注意的8大问题 2013-08-17
淘宝网怎么做SEO优化 2013-08-17
站长们要学习的“苍井空精神” 2013-08-17
苹果公司今日发布了iOS 7第五个开... 2013-08-07
随便看看
交换友情链接经验总结 2010-09-07
标签的伪类书写顺序问题 2010-08-25
目标关键词是什么意思? 2010-09-24
看懂这些故事 你做人就很成功了 2010-10-14
为方便站点哀悼,特提供css滤镜代... 2013-07-23
提高ASP性能的最佳选择 2010-10-21
js省市级联菜单 2010-10-13
ASP.NET随机码生成示例 2010-09-10
Java趣味编程:经典的农夫养牛问... 2013-06-21
怎样防止JAVA程序源代码被反编译 2013-06-24
RSS新闻
传媒新闻
CSDN
八卦新闻
女性新闻
台湾新闻
互联网
军事-新浪博客
IT-新浪博客
汽车新闻
游戏新闻
国际新闻
国内新闻
体育新闻
我的微博
北京 上海 杭州 深圳 广州 成都