验证码生成

开发工具与关键技术:VS+MVC
作者:茅凯翔
撰写时间:2019年6月16日

验证码在很多地方都会出现,可以说基本每个软件都会有验证码这个功能,但是验证码也分种类的,比如:数字验证码、英文验证码、文字验证码等等……几种加在一起的也有,我说一个数字加英文的验证码,也是很常见的,为了安全,设计出了验证码,可以保证用户的信息安全。数字加英文的验证码的样子:
在这里插入图片描述
开始,我们再控制器写一个方法,用来生成验证码的,给方法一个名字:CreateValidCodeImage,我们是用到封装的类来随机生成验证码。我们封装一个类,起名叫:ValidCodeUtils。在里面写的第一个方法是获得随机数的长度,产生的数字和密码混合的随机数,然后再循环数据。产生一个非负随机整数,根据当前随机数来确定字符串,intRandom%3获取的是intRandom除于3得到的余数,就可以产生随机的数字。
在这里插入图片描述
然后根据上面的字符串创建验证码,接着新增图片,开始在图片上绘制文字,绘制完文字,继续在图片上绘制干扰线,用循环来产生一条线,并且绘制在画布上,起始点是(x,y)。再循环绘制图片的前景干扰点。在图片的最外框绘制一个蓝色的边框,最后将图片转保存到内存流中,最后一个代码(return ms.ToArray())就是将流的内容写入byte数组返回。上面一个是产生随机字符串,一个是产生总体图片。
在这里插入图片描述
我们在回到控制器写那个方法。第一句代码就是调用刚刚封装的类(ValidCodeUtils)声明一个变量(strRandom)生成出长度为四位数随机的验证码字符串,几位数都可以,但是越多的话就越麻烦。第二句代码也是引用我们刚刚封装的类的方法(ValidCodeUtils),直接把我们生成出来的字符串(strRandom)转化成一张验证码图片。第三句代码是将上面生成的字符串(strRandom)存入到session中。最后的代码把图片返回到视图中,用File文件格式来返回,返回的有两个参数,前面这参数是你要具体返回的(imgByte),(imgByte)还必须是byte数组类型,第二个参数是你要返回的这个文件是什么格式,我们要返回的是图片的格式,图片、文本、word文档都是属于文件,都直接用文件格式来返回,还要在视图那边绑定才有用。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值