【pyos系统源码】【linux处理tcp源码】【nginx的源码管理】java 验证码 源码_java验证码代码

2024-11-24 22:55:09 来源:lksctp 源码 分类:百科

1.Java实现验证码功能
2.验证码部分的验证a验java代码怎么写

java 验证码 源码_java验证码代码

Java实现验证码功能

       在实现登录功能时,为了防止特定的码源码程序进行暴力破解,通常会在用户登录时增加otp动态验证码录入。证码otp验证码,代码pyos系统源码全称是验证a验One-time Password,也被称作动态口令,码源码linux处理tcp源码指的证码是在计算机系统或其他数字设备上只能使用一次的密码,其有效期通常只有一次登录会话或非常短的代码时间。

       常见的验证a验验证码类型包括验证码、短信验证码,码源码以及滑动窗口模块和选中指定物体验证方式。证码以下将通过Java实现验证码的代码示例,效果展示如下:

       二、验证a验nginx的源码管理实现步骤

       1、码源码在maven中加入依赖

       在pom.xml中引入依赖:

       2、证码创建CaptchaController.java文件

       3、spring手写框架源码配置生成验证码

       4、实现CaptchaService.java接口

       5、实现CaptchaServiceImpl.java类

       6、800cms源码在登录授权验证的地方增加验证码相关校验,即在原本校验用户名密码的地方添加验证码校验。

       涉及到的文件

验证码部分的java代码怎么写

       package com.bbs.servlet;

       import java.awt.Color;

       import java.awt.Font;

       import java.awt.Graphics;

       import java.awt.image.BufferedImage;

       import java.io.IOException;

       import java.io.OutputStream;

       import java.io.PrintWriter;

       import java.util.Random;

       import javax.imageio.ImageIO;

       import javax.servlet.ServletException;

       import javax.servlet..sun.image.codec.jpeg.JPEGCodec;

       import com.sun.image.codec.jpeg.JPEGImageEncoder;

       public class Image extends HttpServlet {

        public void doGet(HttpServletRequest request, HttpServletResponse response)

        throws ServletException, IOException {

        response.setContentType("image/jpeg");

        OutputStream out = response.getOutputStream();

        response.setHeader("Pragma","No-cache");

        response.setHeader("Cache-Control","no-cache");

        response.setDateHeader("Expires", 0);

        int width = , height = ;

        BufferedImage image = new BufferedImage(width, height,

        BufferedImage.TYPE_INT_RGB);

        // 获取图形上下文

        Graphics g = image.getGraphics();

        // 生成随机类

        Random random = new Random();

        // 设定背景色

        g.setColor(getRandColor(, ));

        g.fillRect(0, 0, width, height);

        // 设定字体

        g.setFont(new Font("Times New Roman", Font.PLAIN, ));

        // 随机产生条干扰线,使图象中的认证码不易被其它程序探测到

        g.setColor(getRandColor(, ));

        for (int i = 0; i < ; i++) {

        int x = random.nextInt(width);

        int y = random.nextInt(height);

        int xl = random.nextInt();

        int yl = random.nextInt();

        g.drawLine(x, y, x + xl, y + yl);

        }

        // 取随机产生的认证码(4位数字)

        String sRand =setRandValue(request);

        if(sRand!=null)

        for (int i = 0; i < sRand.length(); i++) {

        g.setColor(new Color( + random.nextInt(), + random

        .nextInt(), + random.nextInt()));

        // 调用函数出来的颜色相同,可能是因为种子太接近,所以只能直接生成

        g.drawString(sRand.charAt(i) + "", * i + 6, );

        }

        JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);

        encoder.encode(image);

        // 图象生效

        g.dispose();

        // 输出图象到页面

        // ImageIO.write(image, "JPG", response.getOutputStream());

        out.flush();

        out.close();

        }

        Color getRandColor(int fc, int bc) { // 给定范围获得随机颜色

        Random random = new Random();

        if (fc > )

        fc = ;

        if (bc > )

        bc = ;

        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);

        }

        //-对应0-9;-对应A-Z;-对应a-z;

        String setRandValue(HttpServletRequest request) {

        Random random = new Random();

        String sRand = "";

        //这里是生成验证码的位数

        for (int i = 0; i < 4; i++) {

        char c = 0;

        int k = random.nextInt(3);

        switch (k) {

        case 0:

        c = (char) (random.nextInt() + );

        break;

        case 1:

        c = (char) (random.nextInt() + );

        break;

        case 2:

        c = (char) (random.nextInt() + );

        }

        sRand += c;

        }

        request.getSession().setAttribute("rands", sRand);

        return sRand;

        }

       }

更多资讯请点击:百科

推荐资讯

秦王陛下源码_秦王殿下

1.侃大秦2:茅焦脱衣刚谏秦王考叔怀肉柔说郑伯上)2.为何称呼古代的皇帝为陛下 陛下的本义是什么3.荆轲刺秦王阅读答案侃大秦2:茅焦脱衣刚谏秦王考叔怀肉柔说郑伯上) 赵姬因嫪毐的谋反事件被秦王嬴政

高雄楠梓加工區大火 壓克力工廠陷火海「濃密黑煙直竄」

高雄楠梓加工區內一間科技公司今14)天上午7點38分傳出火警,驚人濃煙不斷冒出,連遠在好幾公里外都可以看到!周邊民眾還原當下表示,連續聽到好幾聲的爆炸聲。根據了解,起火的工廠專門生產壓克力,由於靠原料

2011天下經濟論壇:日本自民黨總務會長 小池百合子:將日本的綠色經濟與亞洲共享|天下雜誌

日本自民黨總務會長、眾議院議員小池百合子,是最具傳奇與影響力的政治家之一,在首相更迭、男多女少的日本政壇,從電視記者、參議院議員、眾議院議員、一路爬升到環境部長、防衛國防)部長、競選自民黨總裁,並以擔