`
Franciswmf
  • 浏览: 800396 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

纯数字验证码

 
阅读更多
[img][/img]

后台:(code为验证码文本框用户输入,rand为session中图片数字)
String sss=request.getSession().getAttribute("rand").toString();//获取session中的验证码
//判断验证码,code为用户输入的验证码
if("".equals(this.getCode())||!sss.trim().equals(this.getCode()))
{
out
.print("<script>alert('验证码错误!');history.go(-1);</script>");
out.flush();
out.close();
}
*****************************
前台jsp:
<tr>
                <td height="40" class="fontbs">验证码:</td>
                <td>
                <input name="code" type="text" class="inputcode">
                </td>
                <td width="81" align="center">
                <a href="javascript:loadimage();" >
     <img alt="点击刷新"
        name="randImage" id="randImage"
        src="shouye/image.jsp"
        width="76"
        height="33"
        border="1"
       />
</a>
                </td>
              </tr>
js部分:
<script language="JavaScript">
      //刷新验证码
    function loadimage()
     {
           document.getElementById("randImage").src= "shouye/image.jsp?"+Math.random();
     }
</script>
************************************
验证码jsp:
image.jsp
********************
<%@ page contentType="image/jpeg" import="java.awt.*,
java.awt.image.*,java.util.*,javax.imageio.*" pageEncoding="UTF-8"%>
<%!
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);
}
%>
<%
out.clear();//这句针对resin服务器,如果是tomcat可以不要这句
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(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);
}
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());
%>
*******************结束
  • 大小: 11.4 KB
分享到:
评论

相关推荐

    VB 纯数字验证码识别实例

    在这个特定的VB(Visual Basic)实例中,我们关注的是纯数字验证码的识别。这涉及到图像处理和模式识别技术,以识别由计算机生成的随机数字组合。 验证码识别通常分为几个步骤: 1. 图像预处理:首先,我们需要对...

    12000张数字验证码图片

    文件包含12000张数字验证码图片,其中: 10000张训练集; 1000张验证集; 1000张测试集; 图片文件名即为对应验证码包含的数字; 通过第三方库captcha生成的验证码图片,验证码只包含纯数字,图片分辨率为160*60;...

    4位含字母和数字随机验证码

    用户下载后,可以直接运行这个程序,生成所需的4位字母和数字验证码。 总结来说,4位含字母和数字的随机验证码是网络安全中的重要工具,它通过随机性、复杂性和时效性等手段,有效防止了恶意软件和自动化攻击,同时...

    汉字验证码,字母数字验证码

    其次,字母数字验证码(Alphanumeric CAPTCHA)则结合了大小写字母和数字,其安全性介于纯数字验证码和汉字验证码之间。这种验证码通常包括以下几个步骤: 1. 字符库选取:包含大小写字母和数字的字符集。 2. 随机...

    登陆数字验证码实例

    登陆数字验证码的实例,下载后直接引入就可以了

    1万张数字验证码数据集

    在IT领域,特别是机器学习和计算机视觉部分,数据集是训练模型的基础,而"1万张数字验证码数据集"正是这样一种资源,专为深度学习中的卷积神经网络(CNN)设计,用于训练模型识别验证码图像。验证码,全称Automated ...

    jsp验证码——数字

    在本文档中,我们关注一个基于JavaServer Pages (JSP) 的数字验证码生成示例。此示例主要涉及到JSP页面的配置、Java图形处理库的使用以及HTTP会话管理。 ##### 页面配置与编码设置 首先,通过`*" pageEncoding="gb...

    jquery禁止输入数字以外的字符的示例(纯数字验证码)

    纯数字验证码的时候用到的,整理如下: 代码如下:$(‘#mobile-vcode’).unbind();$(“#mobile-vcode”).bind(“keyup change”,function () { $(this).val($(this).val().replace(/\D/g,”)); if($(this).val()....

    纯代码OCR识别验证码不需要安装插件

    【标题】"纯代码OCR识别验证码无需安装插件"揭示了这个压缩包文件的主要功能,即使用纯代码的方式实现OCR(Optical Character Recognition,光学字符识别)技术来识别验证码,而不需要依赖任何额外的插件。...

    QTP自动生成四位随机验证码

    QTP自动生成四位随机验证码,资源来至于朱伟老师!

    Discuz!X3.5 X3.4腾讯云验证码插件 1.0.0.zip

    相比于传统的图形验证码,腾讯云验证码具有更高的识别准确性和更低的误报率,同时减少了用户在验证过程中的困扰。它能够快速响应,确保网站的安全性,防止恶意注册、登录尝试以及评论灌水等问题。 “tencentcloud_...

    javaweb网站验证码,数字、数字+英文、中文算术三种验证码源码

    包含了市面上常见老式的验证码,纯数字验证码,数字+字母验证码,中文算术的验证码,绝对可用的文档讲解,只需要拷贝进项目中稍做修改即可使用

    数字字母验证码1700张

    3. **点干扰纯数字验证码500.rar**:与前一类类似,但只包含数字,没有字母,这可能有助于简化特定场景下的识别任务。 4. **数字字母验证码500.rar**:这是混合型验证码,既包含数字也包含字母,是真实应用场景中最...

    数字验证码

    标签“验证码”进一步确认了这个主题,它是信息安全领域的一个关键组成部分,常见的验证码类型包括数字验证码、字母数字验证码、滑动验证码、点击验证图片等。 在压缩包子文件的文件名称列表中,我们有两个文件:`...

    验证码的三种做法验证码的三种做法验证码的三种做法

    1. **纯数字验证码**: 纯数字验证码是最基础的类型,它只包含0到9的数字。这种验证码相对简单,易于用户识别,但安全性较低,因为自动识别技术对数字的识别成功率较高。为了提高安全性,可以增加数字的数量、颜色...

    CaptchaUtil_Java验证码工具类_CaptchaUtil_

    CaptchaUtil 是 Java 语言封装的一个用于生成验证码的工具类,支持多种字体、干扰线、圈圈等作为背景,方便实用。

    PHP随机验证码含有5种样式

    1. **数字验证码**:最简单的验证码类型是纯数字验证码,通常包含4-6个随机数字。在PHP中,我们可以使用 `rand()` 函数生成随机整数,并将其转换为字符串。然后,使用GD库在图像上绘制这些数字。 2. **英文验证码**...

    生成不同位数的验证码

    对于纯数字验证码,字符集是0-9;对于字母数字混合,可以包含大小写字母和数字。 3. **变形处理**:为了增加机器识别的难度,通常会对验证码进行变形处理,比如扭曲、旋转、添加噪声、改变颜色等。 4. **显示与...

    验证码图形API接口PHP源码.zip

    type //验证码类型(获取验证码时选填,1为算式验证码,2为数字字母验证码,为空时默认纯数字验证码) code //验证码(必填) 访问你的域名/api/yzm/api.php?type=1 访问你的域名/api/yzm/yz.php?code= (输入正确的...

Global site tag (gtag.js) - Google Analytics