图片验证码原理: 服务器生成包含随机字符的字符串图片发给客户端,客户端提交数据需要填写字符串作为验证。而字符串保存在图片中,机器难以识别,达到防止有人利用程序恶意发送信息的目的。
JAVA随机生成图片
JAVA随机生成图片步骤如下:
创建图片缓存区 传参为宽高和图片类型
12BufferedImage bi = newBufferedImage(width,height,BufferedImage.TYPE_INT_RGB);获取画笔并绘画
1234Graphics g = bi.getGraphics(); //获取画笔g.setFont(new Font(Font.SANS_SERIF,Font.BOLD,16));//设置字体g.setColor(color);//设置画笔颜色g.fillRect(0, 0, width, height); //绘制背景输出图片
1ImageIO.write(bi, "JPG", resp.getOutputStream());
JAVA实现验证码实例
servlet生成验证码图片源码
|
|
生成图片验证码主要应用随机数生成器Random生成随机颜色绘制背景,取反色*绘制字符,并绘制最多100随机位置的噪音点,增加识别难度。
配置XML
|
|
html展示页面
|
|
截图展示
下篇介绍利用组件Jcaptcha和Kaptcha生成验证码。