为了提高软件的安全性,应运而生的验证码在一定程度上解决了这个问题,从某种程度来说它降低了程序被攻击的风险。伴随着Java的发展,网上也出现了各种各样的验证码,比如图像、字符验证码、用于计算的验证码等等。下图给大家介绍几个原始验证码的写法:
最左侧的图代表的是基本的验证码,背景和字体颜色随机生成。
中间的图代表的是每个字符都是不同的颜色。
最右侧的图代表的是每个字符都有不同的倾斜角度。
给大家介绍一下验证码的实现原理——前端页面发送请求【使用<img>标签】到后端,后端使用io流写出一张图片,前端页面展示出来。前端代码如下:
前端部分完成过后,就是后台代码实现了,后台画一张图片实际上就跟美术生写生一样,先有一个画板,然后在画板上铺上一张宣纸,再使用画笔在宣纸上进行图像的绘制。
第一部分:获取画板对象,并设置绘画区域:
第二部分:画字符串(随机字符串,随机颜色,随机字体):
第三部分:画干扰线和干扰点
第四部分:画出图片,释放资源
其他:自定义的方法:
实现不同字符的不同颜色:
实现不同字符的不同旋转角度: