`
yaoweinan
  • 浏览: 138536 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

动态验证码

    博客分类:
  • j2se
阅读更多
package servlet;
/**
* @姚伟男
*/
import java.awt.Color;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.util.Random;

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

/**
* Servlet implementation class CodeImage
*/
public class CodeImage extends HttpServlet {
private static final long serialVersionUID = 1L;
      
    /**
     * @see HttpServlet#HttpServlet()
     */
private final int width=50;
private final int height=20;
private final int num=5;
private Random random=new Random();
private int red,blue,green;
private Graphics g;
private BufferedImage image=new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
private String code;
private char[] ch={'0','1','2','3','4','5','6','7','8','9'};
    public CodeImage() {
        super();
      
    }

/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
code="";  
g=image.getGraphics();
        red=random.nextInt(255);
        blue=random.nextInt(255);
        green=random.nextInt(255);
        Color c=new Color(red, green, blue);
        g.setColor(c);
        g.fillRect(0, 0, width, height);
        for(int i=0;i<num;i++){
        int index=random.nextInt(10);
        code+=ch[index]+"";
        }
        c=new Color(5, 45, 67);
        g.setColor(c);
        g.setFont(new Font("黑体", Font.BOLD,18));
        g.drawString(code, 0, 15);
        g.dispose();
        request.getSession().setAttribute("code", code);
        ImageIO.write(image, "JPEG", response.getOutputStream());
}

}
分享到:
评论

相关推荐

    ASP.NET动态验证码

    ASP.NET动态验证码是一种用于验证用户身份的安全机制,广泛应用于网页登录、注册和其他涉及用户交互的安全场景。它通过生成随机的图像和文字组合,要求用户在输入框中输入看到的字符,以此来防止自动化的机器人或者...

    C#生成动态验证码

    在IT领域,动态验证码是一种广泛应用于网站和应用程序的安全机制,用于防止自动机器人或恶意软件进行非法操作,如垃圾邮件发送、账号盗取等。在本主题中,我们将深入探讨如何使用C#编程语言来生成和验证动态验证码。...

    jsp servlet 动态验证码

    在IT领域,动态验证码是一种广泛应用于网站安全性的重要技术,它能有效防止自动化程序(如机器人)进行恶意操作,如防止批量注册、恶意登录等。在本项目中,我们结合了JSP、AJAX和Servlet技术来创建一个动态验证码...

    JavaScript实现页面动态验证码

    在本主题中,我们将深入探讨如何使用JavaScript实现一个页面动态验证码。验证码的主要目的是防止自动化的机器人程序对网站进行恶意操作,例如批量注册、垃圾评论等。 验证码通常包括一些随机生成的字符或数字,用户...

    jsp的自动动态验证码

    jsp 动态 验证码 动态验证码 jsp 动态 验证码 动态验证码

    动态验证码教程与实例

    动态验证码是一种常用的安全机制,主要用于防止自动化程序(如机器人或爬虫)对网站进行非法操作,比如注册、登录、发布信息等。它通过在用户交互过程中生成随机且每次不同的图像来确保只有人类用户能完成相应的操作...

    php版的动态验证码

    PHP动态验证码是一种常见的安全机制,用于防止自动化程序(如机器人)对网站进行恶意操作,例如自动注册、登录或提交表单。在这个特定的案例中,我们讨论的是一个PHP类库,它专门用于创建和验证动态生成的验证码图像...

    ASP.NET GIF动态验证码源码

    ASP.NET GIF动态验证码源码是用于网站安全验证的一种技术,主要目的是防止自动化程序(如机器人)进行非法操作,如批量注册、恶意登录等。在ASP.NET框架中,开发者可以利用C#或VB.NET语言实现这一功能。这个源码是...

    gif动态登录验证码

    动态验证码的工作原理大致如下:服务器端生成一个随机的字符串,然后将其转化为一系列连续变化的图像帧,并以GIF格式发送给客户端。用户必须在短时间内正确识别并输入显示的验证码。由于每个验证码的显示都是短暂且...

    Android代码-又一个Android端动态验证码实现

    Android实现动态验证码的技术调研与实现 建议将宽高比设置为5:2,如果不是5:2现在会按照5:2的比例居中显示到控件 usage verificationCodeView.setOnClickListener(new View.OnClickListener() { @Override ...

    java实现动态验证码的效果

    Java 实现动态验证码效果是一种常见的安全机制,用于防止自动化脚本或机器人在网站上进行恶意操作,如批量注册、登录等。在这个过程中,我们将探讨如何使用Java语言来创建一个简单的动态验证码系统,主要包括以下几...

    php生成动态验证码图片

    在PHP中生成动态验证码图片是一项常见的安全功能,用于防止自动化的机器人或恶意脚本进行非法操作,例如注册、登录或提交表单。验证码通常由随机的字母和数字组成,通过图像展示,用户需要输入看到的字符序列以证明...

    jsp写的带有动态验证码的登录程序

    这是一个通过jsp写的带有动态验证码的,还有是否保存登录记录的登录窗体源代码~

    jsp生成动态验证码

    jsp生成动态验证码,jsp生成动态验证码。

    Java 生成动态验证码

    进行登录等操作时候,可以设置动态验证码的方式,防止系统被机器人恶意攻击

    Android gif 动态验证码

    在Android开发中,动态验证码(通常以GIF格式呈现)是一种常见的安全机制,用于验证用户身份,防止自动化脚本或机器人进行恶意操作。本项目提供了一个示例,可以帮助开发者了解如何在Android应用中实现GIF动态验证码...

    .NET MVC Gif动态验证码,模仿苹果商店验证码

    在.NET MVC框架中,开发一个Gif动态验证码是为了提高网站的安全性,防止恶意自动化脚本或机器人进行非法操作。苹果商店的验证码设计通常注重用户体验,同时保持安全性,因此模仿这样的验证码可以提供良好的交互效果...

    android_动态验证码图片

    在Android开发中,动态验证码图片是一种常见的安全机制,用于防止机器人或恶意软件自动登录和操作。这类验证码设计的目的是确保用户是真实的、有意识的人,而不是自动化程序。本篇文章将详细探讨如何在Android应用...

Global site tag (gtag.js) - Google Analytics