实现生成验证码图片

开发工具与关键技术:ASP.NET MVC
撰写时间:2019.04.16

验证码的随机图片的生成,把验证码字符串放入session中,session是服务器端,Session是在服务器当中划分出的空间内存区域来存储与它在对话的浏览器的信息
session是指:【在服务器的内存中,每一个浏览器去链接它 它都会分配出一个空间来,单独存放与这两个浏览器的信息,就相当于两个人的单独聊天记录是只存在于这两个人之中的,这就相当于session它是单独的,但又不太一样;聊天记录可以一直存在,但是session当浏览器断开之后,比如我现在打开百度,现在这个百度与我产生联系的服务器当中就已经产生了一个session,就相当于内存中分配了一个空间;当我关闭百度时,百度与我产生联系的服务器断开,百度就会在30分钟左右之后把session清空掉,session一般都会有一个保存的时间(大多数都是30分钟左右)】

○1创建一个目录----添加类 —装‘验证码生成工具’的类【例:新建文件夹以Common为名,添加ValidCodeUtils.cs(验证码图片和验证码生成工具类)】
里面有两个方法:
1、产生随机数字符串“GetRandomCode”
在这里插入图片描述
2、根据字符串创建验证码(图片的二进制数组)
在这里插入图片描述
○2使用ValidCodeUtils生成验证码字符串和图片,将验证码字符串存入session中
在这里插入图片描述
○3实现验证码图片点击更换功能(点击验证码图片之后,触发点击事件,在点击事件中修改验证码图片的url,以当前时间(毫秒)作为参数)

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
上次发了一个易语言内存生成验证码的源码,后来压力测试的时候发现多线程下程序会崩溃。原因是 GDI 在多线程创建hDC的时候,经常会失败,内存hDC只有一个工作区域,导致多线程冲突 所以后来研究了一段时间发现,多线程下不能用 GDI,需要用DGI+,虽然 DGI+的确是线程安全的,可是它保证安全的做法可能类似于我们易语言加许可区,所以严格意义上来说, DGI+也不是多线程的,只不过在多线程下是安全的而已 后来网上查找资料,得到了一个让人很沮丧的说法: 这是CSDN上的人说的,他说:听公司一个图形方面的大佬说过,图形绘制主流的技术,GDI、GDI+、OpenGL,D3D什么的都不支持多线程,同一时间内,只能有一个线程在屏幕绘制,所以,根本就没有什么多线程绘图这个玩意。。。 根据我这几天的测试,查看内存和CPU数据,也确实发现即使是GDI+,也只能单线程运行,多线程下也是排队进行绘图的,因为Windows只有一个画板。。。 好了,那就不纠结了,既然连OpenGL都不支持多线程绘图,那就老老实实的就这样用着吧 ============================================================================================ 本源码介绍: 还是跟上次一样,只有一个公开子程序,里面的参数做了一下调整 特点是 每个字符都可以用不同的字体,字体可以随时扩充,在哪里找到了什么好看的字体,直接安装到电脑里,然后把字体名称添加到参数里就可以了 理论上,如果经常更换字体,字体足够多的话,制作识别库是很头疼的一件事,这个用于易语言web开发很合适哟
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值