验证码的生成与匹配

《验证码的生成与匹配》
开发工具与关键技术:Visual Studio /.NET
作者:肖春庆 撰写时间:2019年06月17日
在我们使用软件的时候总是要应用到各种各样的验证与匹配的事情,比如我们登录了某一个APP软件的时候,一般都会让你正确的输入验证码等等,在确保用户输入的内容和提示的验证码一致的时候才可以进行下一步操作。如果用户填写的字符串和提示的验证码不相同的时候我们要视图用户确定的填写验证码。那么验证码是如何生成?又是如何提示和正确的与用户输入的字符串进行匹配呢?
对验证码的需要应用的内容进行类都封装,方便应用的时候进行调用。然后进行编写验证码的内容:
在这里插入图片描述
声明一个变量intLength使它获取一个随机生成的验证码。借用产生一种满足某一随机性统计要求的设备(Random)。随机生成一段的混合的字符串,要确保验证码生成的随机性,所以要应用到循环。我们可以产生一个随机的非负数,根据这一个随机数来确定字符串。我们知道验证码的字符串分为数字和英文大小写字母。如果这一个随机数字除于3的余数为零的时候生成数字、余数为1的时候生成大写的英文字母。余数为2的时候生成小写的英文字母。这样我们就可以随机生成随机的字符串了。
验证码在提示或者展示的时候是与图片的形式进行展示的,所以我们在把随机生成的字符串进行赋值在图片里。
在这里插入图片描述
根据字符串创建验证码。实现声明并且新增图片来接受我们的一开始生成的随机验证码,然后在图片上面进行字符串的绘制定义图片的图形为长方形,并且给定义他字体颜色为红色。验证码只能在我们指定的位置,按要求的进行显示。然后我们可以根据自己的要求可以一些样式的布局或者是图片中绘制布局一些干扰验证码的内容,使用户不那么容易来进行识别出来,比如绘制一些干扰线等等。然后将图片以内存流的形式保存,将内存流写入的数组中,然后进行返回。那么我就封装一个验证码的类了。
生成一个长度为4个随机字符串的验证码,使它通过我们一开始封装的验证码的类进行随机生成,在GetRandomCode(x)中确定字符串的数据长度,其中(x)赋值为验证码的长度。如果验证码为4个字符串的时候为GetRandomCode(4)。根据生成的验证码字符串生成 验证码图片将验证码字符串存入session中 key值为把图片返回到视图,同时要注意文件的内容和文件的类型和文件格式。将验证码的字符串存入session中 key值,获取验证码。应用类型结构进行提供应用。然后把图片进行绘制并且把他返回到视图当中进行提示给用户展示或者展示。
在这里插入图片描述
验证码的匹配并且要获取到视图中用户填写的字符串然后和系统随机生成的验证码进行对比匹配。一般在视图当中有开发者自定义随机生成的验证码(一般以图片的形式进行展示,其中验证码的字符串是应用绘制的形式在图片中的)。给出验证码指定的输入框然后用户可以根据图片展示的验证码,进行识别并且进行填写匹配。
在这里插入图片描述
声明一个变量来接受视图与控制器的关联并且使它记录应用的状态然后通过应用来提示用户现在是到了那一步。确定一个函数来获取视图传递过来的数据变量,在这里是获取页面用户根据提示填写的验证码。
对视图传递过来的验证码进行一一验证匹配。首先获取视图的验证码是空的情况下应用之前接受状态的变量提示返回提示用户填写验证码。如果用户填写验证码不为空的情况下,获取存放提示在视图的图片的绘制字符串处于session存放的验证码。主要是为了避免VS提示e未使用的警告,在这里应用了try…catch…的语句来绑定传递过来的数据。注意不会产生输出。判断用户在视图中填入的验证和session中的验证码字符串是否一致,一般的英文验证码应用忽略大小写的形式进行匹配验证。
在这里插入图片描述
确定此字符串是否与指定的存储在session中的验证码字符串是否一致,参数在此区域进行忽略大小的操作规则。从当前的对象转移所有前导空白字符和尾部空白字符,使用区域敏感的空白字符,在固定的区域比较空白字符,同时进行忽略大小比较。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值