上网查找资料,参考改了一个工具类,并添加到程序中
package com.guantong.seeing.common;
import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.Random;
/**
* 生成随机数字或字母串,以图像方式显示,用于人工识别,使程序很难识别。
*
* 减小系统被程序自动攻击的可能性。
*
* 生成的图形颜色由红、黑、蓝、紫4中随机组合而成,数字或字母垂直方向位置在
*
* 一定范围内也是随机的,减少被程序自动识别的几率。
*
* 由于数字的0,1,2易和字母的o,l,z混淆,使人眼难以识别,因此不生成数字和字母的混合串。
*
* 生成的串字母统一用小写,串的最大长度为16。
*/
public class RandomGraphic {
//字符的高度和宽度,单位为像素
private int wordHeight = 10;
private int wordWidth = 15;
//最大字符串个数
private static final int MAX_CHARCOUNT = 16;
//垂直方向起始位置
private static final int initypos = 5;
//要生成的字符个数,由工厂方法得到
private int charCount = 0;
//颜色数组,绘制字串时随机选择一个
private static final Color[] CHAR_COLOR = {Color.RED, Color.BLUE, Color.MAGENTA, Color.blue};
//随机数生成器