首席技术官  
世界经理人 > 首席技术官 > 技术方案 > 方案
 

 

使用技巧:Java实现随机验证码功能实例

首席技术官ICXO.COM ( 日期:2007-08-08 13:11)

现在许多系统的注册、登录或者发布信息模块都添加的随机码功能,就是为了避免自动注册程序或者自动发布程序的使用。

验证码实际上就是随机选择一些字符以图片的形式展现在页面上,如果进行提交操作的同时需要将图片上的字符同时提交,如果提交的字符与服务器session保存的不同,则认为提交信息无效。为了避免自动程序分析解析图片,通常会在图片上随机生成一些干扰线或者将字符进行扭曲,增加自动识别的难度。

在这里,我们使用servlet来实现随机验证码的实现。  

package com.servlet;

import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.util.Random;

import javax.imageio.ImageIO;
import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

/**
 * 生成随机验证码
 * @author bitiliu
 *
 */
public class ValidateCodeServlet extends HttpServlet
{

 private static final long serialVersionUID = 1L;
 
 //验证码图片的宽度。
    private int width=60;
    //验证码图片的高度。
    private int height=20;
    //验证码字符个数
    private int codeCount=4;
   
   
    private int x=0;
    //字体高度
    private int fontHeight;   
    private int codeY;
   
    char[] codeSequence = { A, B, C, D, E, F, G, H, I, J,
   K, L, M, N, O, P, Q, R, S, T, U, V, W,
   X, Y, Z, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
   

[1] [2] [3] [4] 下一页

来源:

   相关资讯  
 
 如何保证Linux操作系统下的密码安全
 详细解析Apache服务器实现的用户验证
 设置杀毒软件 巧抓邮件病毒
 有了开源,我们的软件该怎样编译
 在SOA架构上实现数据集成的两种方法
 Windows 2003系统下VPN服务器架设指南
 教您在FreeBSD平台下架设Web服务器
 教你如何提高SQL Server 2000 的性能?
 Vista文件操作慢 高手给出7种解决办法
 华为交换机的操作指南[2]
领袖职场 赚钱机会! 希望轻松月入1万元以上进来

CIO&CTO推荐

CEO推荐

CFO推荐

CHO推荐

大话IT