- 浏览: 2829966 次
- 性别:
- 来自: 武汉
文章分类
- 全部博客 (1173)
- 名言警句 (5)
- 心情随笔 (50)
- 数据库 (57)
- Java基础 (241)
- J2EE框架 (91)
- 数据结构 (12)
- 程序设计 (21)
- WEB技术 (128)
- 网络日志 (12)
- IT资讯 (247)
- linux (64)
- solaris (2)
- 其它 (143)
- WebService (4)
- 日语学习 (2)
- 机器人 (5)
- Android (5)
- cgywin (3)
- Game (1)
- DWR (1)
- spring (8)
- canvas (1)
- Guava (3)
- Modbus (5)
- 测试 (6)
- mongodb (9)
- Quartz (2)
- Cron (1)
- windows (2)
- 持续集成 (1)
- bootstrap (3)
- 结对编程 (1)
- nodejs (1)
- Netty (1)
- 安全 (3)
- webstorm (2)
- sparkline (1)
- Job (1)
- git (3)
- Maven (3)
- knockout (5)
- jquery (1)
- bower (1)
- docker (1)
- confluence (4)
- wiki (1)
- GoogleMap (1)
- jekyll (10)
- ruby (2)
- npm (3)
- browserify (1)
- gulp (3)
- openwrt (1)
- discuz (3)
- 输入法 (1)
- JPA (1)
- eclipse (2)
- IntelliJ (1)
- css (1)
- 虚拟机 (1)
- 操作系统 (1)
- azkaban (2)
- scrum (1)
最新评论
-
pangxiea_:
你好, 想请问一下 Linux下 这么使用rxtxcomm 在 ...
使用Java进行串口通信 -
abababudei:
请教一下,这个您是怎么解决的:/dev/ttyS2enteri ...
Java应用程序的MODBUS通讯 -
xuniverse:
hannibal005 写道楼主,我问下 request.se ...
用javascript与java进行RSA加密与解密 -
atxkm:
找了一下午,终于找到了
gulp 拷贝文件时如何移除文件目录结构 -
kalogen:
gtczr 写道非常感谢,经过我自己的修改,已经完美实现。发出 ...
用javascript与java进行RSA加密与解密
java 代码
- <%@ page contentType="image/jpeg" import="java.awt.*,
- java.awt.image.*,java.util.*,javax.imageio.*" %>
- <%!
- Color getRandColor(int fc,int bc){//给定范围获得随机颜色
- Random random = new Random();
- if(fc>255) fc=255;
- if(bc>255) bc=255;
- int r=fc+random.nextInt(bc-fc);
- int g=fc+random.nextInt(bc-fc);
- int b=fc+random.nextInt(bc-fc);
- return new Color(r,g,b);
- }
- %>
- <%
- //设置页面不缓存
- response.setHeader("Pragma","No-cache");
- response.setHeader("Cache-Control","no-cache");
- response.setDateHeader("Expires", 0);
- // 在内存中创建图象
- int width=60, height=20;
- BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
- // 获取图形上下文
- Graphics g = image.getGraphics();
- //生成随机类
- Random random = new Random();
- // 设定背景色
- g.setColor(getRandColor(200,250));
- g.fillRect(0, 0, width, height);
- //设定字体
- g.setFont(new Font("Times New Roman",Font.PLAIN,18));
- //画边框
- //g.setColor(new Color());
- //g.drawRect(0,0,width-1,height-1);
- // 随机产生155条干扰线,使图象中的认证码不易被其它程序探测到
- g.setColor(getRandColor(160,200));
- for (int i=0;i<155;i++)
- {
- int x = random.nextInt(width);
- int y = random.nextInt(height);
- int xl = random.nextInt(12);
- int yl = random.nextInt(12);
- g.drawLine(x,y,x+xl,y+yl);
- }
- // 取随机产生的认证码(4位数字)
- String sRand="";
- for (int i=0;i<4;i++){
- String rand=String.valueOf(random.nextInt(10));
- sRand+=rand;
- // 将认证码显示到图象中
- g.setColor(new Color(20+random.nextInt(110),20+random.nextInt(110),20+random.nextInt(110)));
- //调用函数出来的颜色相同,可能是因为种子太接近,所以只能直接生成
- g.drawString(rand,13*i+6,16);
- }
- // 将认证码存入SESSION
- session.setAttribute("rand",sRand);
- // 图象生效
- g.dispose();
- // 输出图象到页面
- ImageIO.write(image, "JPEG", response.getOutputStream());
- %>
- 使用验证码图片的文件a.jsp
- <%@ page contentType="text/html;charset=gb2312" %>
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
- <html>
- <head>
- <title>认证码输入页面</title>
- <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
- <META HTTP-EQUIV="Pragma" CONTENT="no-cache">
- <META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
- <META HTTP-EQUIV="Expires" CONTENT="0">
- </head>
- <body>
- <form method=post action="check.jsp">
- <table>
- <tr>
- <td align=left>系统产生的认证码:</td>
- <td><img border=0 src="image.jsp"></td>
- </tr>
- <tr>
- <td align=left>输入上面的认证码:</td>
- <td><input type=text name=rand maxlength=4 value=""></td>
- </tr>
- <tr>
- <td colspan=2 align=center><input type=submit value="提交检测"></td>
- </tr>
- </table>
- </form>
- </body>
- </html>
- 验证的页面check.jsp
- <%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
- <html>
- <head>
- <title>认证码验证页面</title>
- <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
- <META HTTP-EQUIV="Pragma" CONTENT="no-cache">
- <META HTTP-EQUIV="Cache-Control" CONTENT="no-cache">
- <META HTTP-EQUIV="Expires" CONTENT="0">
- </head>
- <body>
- <%
- String rand = (String)session.getAttribute("rand");
- String input = request.getParameter("rand");
- %>
- 系统产生的认证码为: <%= rand %><br>
- 您输入的认证码为: <%= input %><br>
- <br>
- <%
- if (rand.equals(input)) {
- %>
- <font color=green>输入相同,认证成功!</font>
- <%
- } else {
- %>
- <font color=red>输入不同,认证失败!</font>
- <%
- }
- %>
- </body>
- </html>
发表评论
-
高级Java程序员值得拥有的10本书
2015-05-04 07:24 766Java是时下最流行的编程语言之一。市面上也出现了适合初学者 ... -
深入理解java异常处理机制
2015-01-30 09:30 12801. 引子 try…catch…fi ... -
java 运行时参数设置
2015-01-07 09:13 823JVM的运行时参数: -Xms为执行单元内存的1/4, ... -
每个Java开发者都应该知道的5个JDK工具
2014-12-29 12:37 1103JDK是Java语言的软件开 ... -
使用双重锁判定可以大幅降低锁的征用
2014-12-29 12:30 707class ObjInstance { //单例 pri ... -
MAVEN Scope使用说明
2014-11-24 09:40 715在Maven的依赖管理中,经常会用到依赖的scope设置。这 ... -
Spring4 quartz job xml configuration
2014-11-11 09:46 14051. 定义job details public ... -
Add items into list in one line using guava
2014-11-10 10:54 694//@formatter:off fina ... -
配置动态读取(变化)文件 in Spring
2014-11-10 08:51 12931. 从环境变量中读取路径: <bean id=&q ... -
JAVA实现AES加密与解密
2014-11-04 15:34 616package com.eifesun.monitor.up ... -
Netty4.x分析
2014-07-31 11:06 1421官网定义: netty是一个异步、事件驱动的网络应用框架,用 ... -
Ways to sort lists of objects in Java based on multiple fields
2014-07-21 17:19 7351. the first way: Sorting wit ... -
how to parse a String to BigDecimal
2014-07-21 10:08 889private BigDecimal parsePrice( ... -
order list using google guava
2014-07-21 09:08 854Predicate<String> filter ... -
Java 读文件操作
2014-07-08 14:09 8581. only use java core, no exte ... -
怎样使Java 中测试按一定顺序执行
2014-03-10 11:27 1268@FixMethodOrder(MethodSorters. ... -
如何实现在当类初始化时,自动调动某个方法
2014-02-14 14:44 924有两种思路, 1. 将这个类实现为thread类 (or ... -
持续集成JenkinsAPI常见用法
2014-02-10 13:54 43jenkins(持续集成开源工具)提供了丰富的api接口,基 ... -
Sonar 安装与使用
2014-01-13 10:49 1694Sonar 是一个用于代码质量管理的开放平台。通过插件机制, ... -
源代码管理分析工具 Source Navigator的安装与使用
2014-01-13 09:51 1842Source-Navigator是原来redhat开发的一个 ...
相关推荐
JSP生成彩色验证码程序
JSP自动生成彩色验证码-由2个JSP页面与一个action验证验证码的类构成,code.jsp自动生成4位彩色随机码。index.jsp是登陆页面包含彩色验证码
JSP生成彩色验证码程序例子
java生成验证码源码包括彩色验证码 包括jsp生成验证码和彩色验证码
JSP中彩色验证码 注册验证码 中文验证码 图片验证码的生成
jsp下生成的简单彩色验证码 里面的pic文件夹放入jsp建的虚拟目录下的WEB-INF下的classes文件夹下!
该文件中有两个彩色验证码生成和验证的例子,都是独立的,一个是汉字形式,另一个是数字+字母形式
经典JSP生成验证码经典JSP生成验证码经典JSP生成验证码经典JSP生成验证码经典JSP生成验证码经典JSP生成验证码经典JSP生成验证码
请按文档要求建立3个jsp页面,一个是image.jsp就是产生验证码的,一个a.jsp就是用来展示验证码的一个表单,一个check.jsp就是用来验证验证码和表单里面用户输入的验证码的值是否一致。 注意:三个jsp文件的路径,a....
使用jsp生成彩色汉字验证码,在网上找到的,还不完善,请大家笑纳。
教你如何使用jsp生成彩色汉字验证码的源码,有需要的可以看看
动态生成彩色jsp验证码,支持点击刷新,支持点击刷新
整个html打开可以看到效果,不包含验证码背景图片,自己找一个命名为code.jpg就有背景了,js验证码比jsp验证码好处在于:对于一个注册或者登陆页面,如果想通过点击提交按钮触发js事件,那么jsp用的是(String)...
JSP彩色验证码的实现 用JPS技术实现了,彩色验证码。包括汉字的和数字的。
在JSP下,用jcaptcha生成彩色验证码的案例。 主页http://jcaptcha.sourceforge.net/ 网上有很多例子,但有一点没说清楚,这个项目的jar包需要两个apache的项目包,一个是collections,还有一个是logging。 我做了...
Jsp彩色验证码,生成随机验证码,java适用
jsp的随机彩色4位验证码,用session 验证是否填写正确
验证码生成与验证例子,验证码例子,验证码
运用Jsp技术生成彩色汉字验证码,生成随机颜色
彩色验证码: 1.原理:随机生成一个包含字符串的图片,用户读取图片中的字符信息,将其输入到指定文本框中,随着登录或者注册功能的提交将其传递给服务器进行验证处理。 2.作用:防止通过程序进行批量注册或者暴力...