返回顶部
首页 > 资讯 > 后端开发 > Python >Java实战之用Spring开发条形码和验证码
  • 665
分享到

Java实战之用Spring开发条形码和验证码

2024-04-02 19:04:59 665人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

一、条形码 代码如下: import javax.swing.*; import java.awt.*; import java.awt.image.BufferedImage;

一、条形码

代码如下:


import javax.swing.*;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.util.Random;

public class Text extends JFrame {
    private static final int WIDTH=300;//窗口的宽度
    private static final int HEIGHT=400;//窗口的高度
    private static final int LINES=120;//内部的线条数量
    private static final int SPACE=10;//线条与线条之间的间距
    private static JFrame jFrame=null;

    public static void main(String[] args) {
        initialize();
    }

    private static void initialize(){//初始化窗口
        jFrame=new JFrame("条形码");
        jFrame.setSize(WIDTH,HEIGHT);
        jFrame.setLayout(null);
        JLabel jLabel=new JLabel();
        jLabel.setBounds(0,0,WIDTH,80);
        jLabel.setIcon(new ImageIcon(setCode()));
        jFrame.add(jLabel);
        jFrame.setVisible(true);
        jFrame.setLocationRelativeTo(null);
        jFrame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    }

    private static BufferedImage setCode() {
        Random random = new Random();
        BufferedImage bufferedImage = new BufferedImage(WIDTH, 80, BufferedImage.TYPE_INT_RGB);//创建一个图片画板
        Graphics g = bufferedImage.getGraphics();//得到画笔
        g.setColor(Color.white);//设置画笔颜色
        g.fillRect(0, 0, WIDTH, 80);//规定画笔的一个范围
        g.setColor(Color.black);//这个是设置线条的颜色
        for(int i=0;i<LINES;i++){
            int row=random.nextInt(WIDTH)+SPACE;
            g.drawLine(row,0,row,HEIGHT);
        }
        return bufferedImage;
    }
}

效果如下:

这里是引用

二、验证码

代码如下:


import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.awt.image.BufferedImage;
import java.util.Random;

public class Text extends JFrame{
    private final static char[] Words=("1234567890" +
            "abcdefghijklmnopqrstuvwxyz" +
            "ABCDEFGHIJKLMNOPQRSTUVWXYZ").toCharArray();

    private final static int WORDLENGTH=4;
    private final static int WIDTH=200;
    private final static int HEIGHT=100;
    private final static int STAR=200;
    private static Text t=null;
    private static TextField textFile=null;
    private static Object[] obj=null;

    private static Object[] drawCode(){
        BufferedImage bufferedImage=new BufferedImage(WIDTH,HEIGHT,BufferedImage.TYPE_INT_RGB);
        Graphics g=bufferedImage.getGraphics();
        char[] selectWord=new char[4];
        g.setColor(Color.LIGHT_GRAY);
        g.fillRect(0,0,WIDTH,HEIGHT);
        Random random=new Random();
        for(int i=0;i<WORDLENGTH;i++){
            int n=random.nextInt(words.length);
            selectWord[i]=words[i];
            g.setFont(new Font("微软雅黑",0,random.nextInt(20)+40));
            g.setColor(setRandomColor());
            g.drawString(words[n]+"",i*WIDTH/WORDLENGTH,HEIGHT/2+10);
        }
        for(int i=0;i<STAR;i++){
            g.setColor(setRandomColor());
            g.setFont(new Font("楷书",0,40));
            g.drawOval(random.nextInt(WIDTH),random.nextInt(HEIGHT),3, 3);
        }
        return new Object[]{selectWord,bufferedImage};
    }

    private static Color setRandomColor(){
        Random colorRandom=new Random();
        return new Color(colorRandom.nextInt(256),colorRandom.nextInt(256),colorRandom.nextInt(256));
    }


    public static void main(String[] args) {
        t=new Text();
        t.setLocationRelativeTo(null);
        t.setSize(WIDTH,200);
        t.setLayout(null);
        t.add(setLabel());
        t.add(setButton());
        t.add(setTextField());
        t.setVisible(true);
        t.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    }
    
    private static JLabel setLabel(){
        JLabel jLabel=new JLabel();
        obj=drawCode();
        jLabel.setIcon(new ImageIcon((BufferedImage)obj[1]));
        jLabel.setBounds(0,0,WIDTH,HEIGHT);
        jLabel.addMouseListener(new MouseAdapter() {
            @Override
            public void mouseClicked(MouseEvent e) {
                jLabel.setIcon(new ImageIcon((BufferedImage)drawCode()[1]));
            }
        });
        return jLabel;
    }

    private static TextField setTextField(){
        textFile=new TextField();
        textFile.setFont(new Font("华文行楷",0,20));
        textFile.setBounds(5,120, 100,30);
        return textFile;
    }

    private static JButton setButton(){
        JButton jButton=new JButton("检测");
        jButton.setBounds(110,120, 70,30);
        jButton.addActionListener(new ActionListener() {
            @Override
            public void actionPerfORMed(ActionEvent e) {
                System.out.println(textFile.getText().equals(obj[0]));
            }
        });
        return jButton;
    }
}

效果如下:

在这里插入图片描述

验证码这里是因为没有设置好字符编码的原因,让中文字符无法在窗口内不显示

验证码就比条形码难以点点,但是基本的编写思想都是差不多的,
但最难的还是在二维码上,编写二维码就需要要求编写者的算法能力足够的扎实,而且还要有足够丰富的Java功底

到此这篇关于Java实战之用spring开发条形码和验证码的文章就介绍到这了,更多相关Java Spring开发条形码和验证码内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Java实战之用Spring开发条形码和验证码

本文链接: https://lsjlt.com/news/124873.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Java实战之用Spring开发条形码和验证码
    一、条形码 代码如下: import javax.swing.*; import java.awt.*; import java.awt.image.BufferedImage;...
    99+
    2024-04-02
  • java web开发之servlet图形验证码功能的实现
    一 验证码的由来在web项目开发中,为了防止部分人使用自动工具(如:自动注册机)等进行批量的数据处理,在不同的功能节点部分,添加了验证码进行验证,达到对自动软件的屏蔽效果最经典的应用如:网站注册图形验证码;接下来,通过java技术,结合se...
    99+
    2023-05-30
    java web servlet
  • Canvas入门实战之怎么实现一个图形验证码
    这篇文章主要介绍“Canvas入门实战之怎么实现一个图形验证码”,在日常操作中,相信很多人在Canvas入门实战之怎么实现一个图形验证码问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大...
    99+
    2024-04-02
  • 实例详解Spring Boot实战之Redis缓存登录验证码
    本章简单介绍redis的配置及使用方法,本文示例代码在前面代码的基础上进行修改添加,实现了使用redis进行缓存验证码,以及校验验证码的过程。1、添加依赖库(添加redis库,以及第三方的验证码库) <dependency...
    99+
    2023-05-31
    spring boot redis
  • flutter开发实战-flutter二维码条形码扫一扫功能实现
    flutter开发实战-flutter二维码条形码扫一扫功能实现 flutter开发实战-flutter二维码扫一扫功能实现,要使用到摄像头的原生的功能,使用的是插件:scan 效果图如下 一、扫一...
    99+
    2023-09-02
    flutter 扫一扫 二维码 条形码
  • Java实现EasyCaptcha图形验证码的具体使用
    EasyCaptcha github地址: https://github.com/whvcse/EasyCaptcha 简介 Java图形验证码,支持gif、中文、算术等类型,...
    99+
    2024-04-02
  • java实战案例之用户注册并发送邮件激活/发送邮件验证码
    目录 一、前期准备 1、准备两个邮箱账号(一个发邮件,一个收邮件)1.1)登录需要发送邮件的QQ邮箱,找到设置项1.3)生成授权码二、项目1、准备用户数据表2、i...
    99+
    2024-04-02
  • java实现发送邮箱验证码
    本文实例为大家分享了java实现发送邮箱验证码的具体代码,供大家参考,具体内容如下 添加依赖 <!-- 邮箱验证码 https://mvnrepository.com/ar...
    99+
    2024-04-02
  • Spring Security基于过滤器实现图形验证码功能
    目录前言一. 验证码简介二. 基于过滤器实现图形验证码1. 实现概述2. 创建新模块3. 添加依赖包4. 创建Producer对象5. 创建生成验证码的接口6. 自定义异常7. 创建...
    99+
    2024-04-02
  • Python+KgCaptcha实现验证码的开发详解
    目录背景开发过程引入JSJS接入代码Python后台验证JS刷新验证码效果展示背景 闲来无聊,在网上发现了一个验证码产品KgCaptcha,下面是我用KgCaptcha开发验证码的记...
    99+
    2023-05-16
    Python KgCaptcha验证码开发 Python KgCaptcha验证码 Python 验证码
  • 利用java实现验证码生成并完成验证
    利用java实现验证码生成并完成验证?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。java 制作验证码并进行验证实例详解在注册、登录的页面上经常会出现验证码,为...
    99+
    2023-05-31
    java 验证码 ava
  • 使用Java实现验证码程序
    用java实现的给浏览器响应验证码程序。并且是实现了可以点击验证码图片换一张验证码。 最后边给出了完整的代码。 //首先定义一个自己的类并且去继承HttpServlet这个类 pub...
    99+
    2024-04-02
  • Python使用smtplib 实现单发和群发邮件验证码
    目录smtplib库SMTP邮件服务器实战1.126邮箱一般默认关闭SMTP服务,我们得先去开启它2.Python代码前言: Python smtplib 教程:展示了如何使用 sm...
    99+
    2024-04-02
  • 如何使用php函数来优化验证码发送和验证?
    随着互联网的发展,验证码的使用已经成为了保护用户信息安全的重要手段之一。在网站的注册、登录、找回密码等功能中,验证码的发送和验证是必不可少的一环。本文将介绍如何使用PHP函数来优化验证码的发送和验证,以提高用户体验和安全性。生成验证码首先,...
    99+
    2023-10-21
    验证码 优化 PHP函数
  • Java如何实现发送短信验证码功能
    小编给大家分享一下Java如何实现发送短信验证码功能,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一个发送短信验证码的功能,使用的是信易通的短信平台接口,然后在J...
    99+
    2023-05-30
    java
  • 怎么用java+maven实现发送短信验证码功能
    这篇文章主要介绍“怎么用java+maven实现发送短信验证码功能”,在日常操作中,相信很多人在怎么用java+maven实现发送短信验证码功能问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用java+m...
    99+
    2023-06-02
  • spring mvc 使用kaptcha配置生成验证码实例
    使用Kaptcha 生成验证码十分简单并且参数可以进行自定义,以下简单记录下使用步骤。1.在pom.xml中添加maven依赖:<dependency> <groupId>com.google.code.kaptc...
    99+
    2023-05-31
    kaptcha spring mvc
  • Java开发完整短信验证码功能的全过程
    目录前言闲扯使用技术所需知识储备实现步骤总结前言 现代互联网项目中,很多场景下都需要使用一种叫做验证码的技术,常用的有图片验证码,滑块验证码,短信验证码等,本文章描述的就是短信验证码...
    99+
    2024-04-02
  • Spring中使用腾讯云发送短信验证码的实现示例
    目录1.所需依赖2.腾讯云配置(1).获取短信签名(2).创建正文模板(3).创建密钥(4).获取SdkAppId3.代码1. 所需依赖 <dependency...
    99+
    2024-04-02
  • node.js WEB开发中图片验证码的实现方法
    用node做web开发很多都可能碰到需要验证码的地方,之前在github上搜索,有一些比如node-captcha等的类库,都需要依赖第三方的图形处理库或者软件,像我之前安装cario这个图形库时,真是费了...
    99+
    2022-06-04
    验证码 方法 图片
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作