java 生成验证码

在第一家公司做的就是登录注册,就用到了生成验证码的功能,虽然这个东西随便搜网上一大堆源码,但是今天在《maven实战》中看到了,很是怀念在qiandai的日子还有小伙伴们,于是mark一下。

首先验证码的用途:防止用户利用机器人自动注册、登录、灌水。而现在验证码的种类多种多样,有的很BT人眼都识别不了,一般为随机英文字母+随机颜色+随机位置。这里记录最基本的。

为了生成验证码图片,首先先生成验证码字符串的值。

技术分享

有了验证码字符串的值之后,通过DefaultKaptcha来生成一个bufferedImage,随后将这个图片对象转换成jpg格式的字节数组并返回。有了这个字节数组,用户就能随意地将其保存成文件或者在网页上显示。

技术分享

用户拿到验证码图片以及主键后,就会识别图片中所包含的字符串信息,然后将此验证码的值与主键一起反馈给validateCaptcha()方法进行验证。validateCaptcha通过主键找到正确的验证码值,然后与用户提供的值进行比对,成功为true。

技术分享

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。