java验证码登陆界面(java登陆验证码功能怎么实现)

华为云服务器特价优惠火热进行中!

2核2G2兆仅需 38 元;4核4G3兆仅需 79 元。购买时间越长越优惠!更多配置及优惠价格请咨询客服。

合作流程:
1、点击链接注册/关联华为云账号:点击跳转
2、添加客服微信号:cloud7591,确定产品方案、价格方案、服务支持方案等;
3、客服协助购买,并拉微信技术服务群,享受一对一免费技术支持服务;
技术专家在金蝶、华为、腾讯原厂有多年工作经验,并已从事云计算服务8年,可对域名、备案、网站搭建、系统部署、AI人工智能、云资源规划等上云常见问题提供更专业靠谱的服务,对相应产品提供更优惠的报价和方案,欢迎咨询。

本篇文章给大家谈谈java验证码登陆界面,以及java登陆验证码功能怎么实现对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

微信号:cloud7591
如需了解更多,欢迎添加客服微信咨询。
复制微信号

本文目录一览:

怎样用java实现验证码

现在许多系统的注册 登录或者发布信息模块都添加的随机验证码功能 就是为了避免自动注册程序或者自动发布程序的使用

验证码实际上就是随机选择一些字符以图片的形式展现在页面上 如果进行提交操作的同时需要将图片上的字符同时提交 如果提交的字符与服务器session保存的不同 则认为提交信息无效 为了避免自动程序分析解析图片 通常会在图片上随机生成一些干扰线或者将字符进行扭曲 增加自动识别验证码的难度

在这里 我们使用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 ) 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);

}

%

%

//设置页面不缓存

response setHeader( Pragma No cache );

response setHeader( Cache Control no cache );

response setDateHeader( Expires );

// 在内存中创建图象

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( width height);

//设定字体

g setFont(new Font( Times New Roman Font PLAIN ));

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

g setColor(getRandColor( ));

for (int i= ;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);

}

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

String codeList = ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz ;

String sRand= ;

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

int a=random nextInt(codeList length() );

String rand=codeList substring(a a+ );

sRand+=rand;

// 将认证码显示到图象中

g setColor(new Color( +random nextInt( ) +random nextInt( ) +random nextInt( )));//调用函数出来的颜色相同 可能是因为种子太接近 所以只能直接生成

g drawString(rand *i+ );

}

// 将认证码存入SESSION

session setAttribute( rand sRand);

// 图象生效

g dispose();

// 输出图象到页面

ImageIO write(image JPEG response getOutputStream());

out clear();

out = pageContext pushBody();

lishixinzhi/Article/program/Java/hx/201311/25536

用java编写登陆界面要求有用户名,密码和验证码的输出,下面是登录和取消

import java.util.Scanner;

public class Logon {

 

 private static final char username = '青';

 private static final int password = 123;

 private static final Scanner san = new Scanner(System.in);

 

 public static void main(String[] args) {

  char iname;

  int ipass;

  System.out.print("请输入用户名: ");

  iname = san.next().charAt(0);

  System.out.print("请输入密码: ");

  ipass = san.nextInt();

  if(Logon.username == iname  Logon.password == ipass) {

   System.out.println("欢迎你, " + Logon.username);

  } else {

   System.out.println("对不起, 你不是" + Logon.username);

  }

 }

}

java swing中登录界面验证码的实现。

public class ValidCode extends JComponent implements MouseListener {

private String code;

private int width, height = 40;

private int codeLength = 4;

private Random random = new Random();

public ValidCode() {

width = this.codeLength * 16 + (this.codeLength - 1) * 10;

setPreferredSize(new Dimension(width, height));

setSize(width, height);

this.addMouseListener(this);

setToolTipText("点击可以更换验证码");

}

public int getCodeLength() {

return codeLength;

}

/*

设置验证码文字的长度

*/

public void setCodeLength(int codeLength) {

if(codeLength 4) {

this.codeLength = 4;

} else {

this.codeLength = codeLength;

}

}

public String getCode() {

return code;

}

/*

产生随机的颜色

*/

public Color getRandColor(int min, int max) {

if (min 255)

min = 255;

if (max 255)

max = 255;

int red = random.nextInt(max - min) + min;

int green = random.nextInt(max - min) + min;

int blue = random.nextInt(max - min) + min;

return new Color(red, green, blue);

}

/*

设置验证码具体的字母是什么

*/

protected String generateCode() {

char[] codes = new char[this.codeLength];

for (int i = 0, len = codes.length; i len; i++) {

if (random.nextBoolean()) {

codes[i] = (char) (random.nextInt(26) + 65);

} else {

codes[i] = (char) (random.nextInt(26) + 97);

}

}

this.code = new String(codes);

return this.code;

}

@Override

protected void paintComponent(Graphics g) {

super.paintComponent(g);

if(this.code == null || this.code.length() != this.codeLength) {

this.code = generateCode();

}

width = this.codeLength * 16 + (this.codeLength - 1) * 10;

super.setSize(width, height);

super.setPreferredSize(new Dimension(width, height));

Font mFont = new Font("Arial", Font.BOLD | Font.ITALIC, 25);

g.setFont(mFont);

//绘制出验证码的背景的矩形轮廓

Graphics2D g2d = (Graphics2D) g;

g2d.setColor(getRandColor(200, 250));

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

g2d.setColor(getRandColor(180, 200));

g2d.drawRect(0, 0, width - 1, height - 1);

//绘制出验证码背景的线

int i = 0, len = 150;

for (; i len; i++) {

int x = random.nextInt(width - 1);

int y = random.nextInt(height - 1);

int x1 = random.nextInt(width - 10) + 10;

int y1 = random.nextInt(height - 4) + 4;

g2d.setColor(getRandColor(180, 200));

g2d.drawLine(x, y, x1, y1);

}

/*i = 0; len = 300;

for (; i len; i++) {

int x = random.nextInt(width);

int y = random.nextInt(height);

g2d.setColor(getRandColor(150, 180));

g2d.drawRect(x, y, 0, 0);

}*/

//绘制出验证码的具体字母

i = 0; len = this.codeLength;

FontMetrics fm = g2d.getFontMetrics();

int base = (height - fm.getHeight())/2 + fm.getAscent();

for(;ilen;i++) {

int b = random.nextBoolean() ? 1 : -1;

g2d.rotate(random.nextInt(10)*0.01*b);

g2d.setColor(getRandColor(20, 130));

g2d.drawString(code.charAt(i)+"", 16 * i + 10, base);

}

}

//下一个验证码

public void nextCode() {

generateCode();

repaint();

}

@Override

public void mouseClicked(MouseEvent e) {

nextCode();

}

@Override

public void mousePressed(MouseEvent e) {

// TODO Auto-generated method stub

}

@Override

public void mouseReleased(MouseEvent e) {

// TODO Auto-generated method stub

}

@Override

public void mouseEntered(MouseEvent e) {

// TODO Auto-generated method stub

}

@Override

public void mouseExited(MouseEvent e) {

// TODO Auto-generated method stub

}

}

关于java验证码登陆界面和java登陆验证码功能怎么实现的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

发布于 2023-04-04 00:04:06
收藏
分享
海报
33
目录

    忘记密码?

    图形验证码

    复制成功
    微信号: cloud7591
    如需了解更多,欢迎添加客服微信咨询。
    我知道了