一种图片验证码的生成方法技术

技术编号:10296356 阅读:109 留言:0更新日期:2014-08-07 01:14
本发明专利技术发明专利技术了一种图片验证码的生成方法,涉及网络应用技术领域,包括预设字符步骤,将在画布上所要显示的字符自定义到数组vitrine中;字符串checkcode的生成步骤,用户请求生成验证码,设置要求输入的验证码的长度length,系统通过调用rnd.Next(vitrine.Length-1)产生随机数,根据所产生的随机数在自定义数组vitrine中找出相应的字符,重复上述随机产生随机数过程,直至产生随机数的个数满足于用户设置要求输入的验证码的长度length;创建空白image步骤,设置当前字体的大小为fontsize,根据字体大小跟所画字符串的长度创建一幅空白image,Image=newBitmap((int)Math.Ceiling(checkcode.Length*fontsize),22),根据Image生一个Graphicsgr=Graphics.FromImage(Image)对象;画字符串checkcode步骤,调用gr.DrawStringde的方法画字符串;验证码的输出步骤,将上述所画字符串checkconde保存在Session中,图片以流的形式输出到网页上,Image.Save(Response.OutputStream,System.Drawing.Imaging.ImageFormat.Gif)。

【技术实现步骤摘要】
【专利摘要】本专利技术专利技术了,涉及网络应用
,包括预设字符步骤,将在画布上所要显示的字符自定义到数组vitrine中;字符串checkcode的生成步骤,用户请求生成验证码,设置要求输入的验证码的长度length,系统通过调用rnd.Next(vitrine.Length-1)产生随机数,根据所产生的随机数在自定义数组vitrine中找出相应的字符,重复上述随机产生随机数过程,直至产生随机数的个数满足于用户设置要求输入的验证码的长度length;创建空白image步骤,设置当前字体的大小为fontsize,根据字体大小跟所画字符串的长度创建一幅空白image,Image=newBitmap((int)Math.Ceiling(checkcode.Length*fontsize),22),根据Image生一个Graphicsgr=Graphics.FromImage(Image)对象;画字符串checkcode步骤,调用gr.DrawStringde的方法画字符串;验证码的输出步骤,将上述所画字符串checkconde保存在Session中,图片以流的形式输出到网页上,Image.Save(Response.OutputStream,System.Drawing.Imaging.ImageFormat.Gif)。【专利说明】—种图片验证码的生成方法
本专利技术涉及网络应用
,具体的涉及。
技术介绍
随着计算机和计算机网络的日益普及,互联网已经深入到人们工作、学习和生活的各个领域。在当今信息网络时代,信息安全显的越来越重要,为了防止有些别有用心的用户利用机器人(恶意程序)自动注册、自动登录、恶意灌水和恶意增加数据库访问,用特定程序暴力破解密码,可采用验证码技术。目前大部分网络信息系统都有图片验证码的功能。本方案提供一种简单快捷生成图形验证码的方法,并添加了验证生成的有效期。
技术实现思路
本专利技术提出一种简单快捷生成图形验证码的方法,包括以下步骤: 预设字符步骤,将在画布上所要显示的字符自定义到数组vitrine中; 字符串checkcode的生成步骤,用户请求生成验证码,并设置要求输入的验证码的长度length,系统通过调用rnd.Next (vitrine.Length-1)产生随机数,根据所产生的随机数在自定义数组vitrine中找出相应的字符,重复上述随机产生随机数过程,直至产生随机数的个数满足于用户设置要求输入的验证码的长度length ; 创建空白image步骤,设置当前字体的大小为fontsize,根据字体的大小跟所画字符串的长度创建一幅空白 image, Image = new Bitmap ((int) Math.Ceiling (checkcode.Length 氺 fontsize), 22), 根 据 Image 生一个 Graphics gr = Graphics.FromImage (Image)对象; 画字符串checkcode步骤,调用gr.DrawStringde的方法画字符串; 验证码的输出步骤,将上述所画字符串checkconde保存在Session中,将图片以流的形式输出到网页上,Image.Save (Response.0utputStream, System.Drawing.1maging.1mageFormat.Gif)。在画字符串checkcode的步骤之后,包含画图片干扰线步骤,仓ll建Random对象rndl,调用方法 rndl.Next (Image.Width)跟rndl.Next (Image.Heigth)每次分别产生两个点 X,y。在所述的画图片干扰线步骤之后,还包括添加干扰点步骤,调用image.SetPixel O的方法产生随机点,根据随机点设置干扰点。在添加干扰点步骤之后,还包括画图片边框步骤,调用gr.DrawRectangle的方法画图片边框。在验证码的输出步骤之后,还包括倒计时步骤,当图片输出到网页上时,开始倒计时,在显示端动态提示用户验证码的有效时间,当倒计时为O时,提示用户验证码失效,重新生成验证码。本专利技术专利技术的,实现简单代价低,不需要其他组件,技 术成熟,运行速率高,具有很高的使用价值。【专利附图】【附图说明】图1为本专利技术专利技术的示意图。图2为本专利技术专利技术的优选示意图。【具体实施方式】本专利技术专利技术的,其示意图如图1所示,包括以下步骤, 预设字符步骤,将在画布上所要显示的字符自定义到数组vitrine中; 用户请求生成验证码,并设置要求输入的验证码的长度length ; 创建空白image步骤,设置当前字体的大小为fontsize,根据字体的大小跟所画字符串的长度创建一幅空白 image, Image = new Bitmap ((int) Math.Ceiling (checkcode.Length 氺 fontsize), 22), 根 据 Image 生一个 Graphics gr = Graphics.FromImage (Image)对象; 系统通过调用rnd.Next (vitrine.Length-1)产生随机数,根据所产生的随机数在自定义数组vitrine中找出相应的字符; 画字符串checkcode步骤,调用gr.DrawStringde的方法画字符串; 重复上述随机产生随机数过程,直至产生随机数的个数满足于用户设置要求输入的验证码的长度length ; 验证码的输出步骤,将上述所画字符串checkconde保存在Session中,将图片以流的形式输出到网页上,Image.Save (Response.0utputStream, System.Drawing.1maging.1mageFormat.Gif)。本专利技术专利技术的,其优选的示意图如图2所示,包括以下步骤: 预设字符步骤,将在画布上所要显示的字符自定义到数组vitrine中; 用户请求生成验证码,并设置要求输入的验证码的长度length ; 创建空白image步骤,设置当前字体的大小为fontsize,根据字体的大小跟所画字符串的长度创建一幅空白 image, Image = new Bitmap ((int) Math.Ceiling (checkcode.Length 氺 fontsize), 22), 根 据 Image 生一个 Graphics gr = Graphics.FromImage (Image)对象; 系统通过调用rnd.Next (vitrine.Length-1)产生随机数,根据所产生的随机数在自定义数组vitrine中找出相应的字符; 画字符串checkcode步骤,调用gr.DrawStringde的方法画字符串; 重复上述随机产生随机数过程,直至产生随机数的个数满足于用户设置要求输入的验证码的长度length ; 画图片干扰线步骤,创建Random对象rndl,调用方法rndl.Next (Image.Width)跟rndl.Next (Image.Heigth)每次分别产生两个点x, y ; 添加干扰点步骤,调用image.SetPixel O的方法本文档来自技高网
...

【技术保护点】
一种图片验证码的生成方法,其特征在于,包括以下步骤:预设字符步骤,将在画布上所要显示的字符自定义到数组vitrine中;字符串checkcode的生成步骤,用户请求生成验证码,并设置要求输入的验证码的长度length,系统通过调用rnd.Next(vitrine.Length‑1)产生随机数,根据所产生的随机数在自定义数组vitrine中找出相应的字符,重复上述随机产生随机数过程,直至产生随机数的个数满足于用户设置要求输入的验证码的长度length;创建空白image步骤,设置当前字体的大小为fontsize,根据字体的大小跟所画字符串的长度创建一幅空白image,Image = new Bitmap((int)Math.Ceiling(checkcode.Length * fontsize), 22),根据Image生一个Graphics gr = Graphics.FromImage(Image)对象;画字符串checkcode步骤,调用gr.DrawStringde的方法画字符串;验证码的输出步骤,将上述所画字符串checkconde保存在Session中,将图片以流的形式输出到网页上,Image.Save(Response.OutputStream,System.Drawing.Imaging.ImageFormat.Gif)。...

【技术特征摘要】

【专利技术属性】
技术研发人员:陈耀
申请(专利权)人:江苏中通洋软件服务有限公司
类型:发明
国别省市:江苏;32

相关技术
    暂无相关专利
网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1