栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

登录图片验证码

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

登录图片验证码

加用java实现图片验证码

response.setHeader("Pragma", "No-cache");
		response.setHeader("Cache-Control", "No-cache");
		response.setDateHeader("Expires", 0);
		//注意这里输出的是图片
		response.setContentType("image/gif");

		int width = 100;
		int height = 40;
		
		BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
		Graphics g = image.getGraphics();
		Font font = new Font("宋体",Font.BOLD,25);
		g.setFont(font);

		String imagePath = request.getServletContext().getRealPath("/img/11942.jpg"); 
		Image image1 = ImageIO.read(new File(imagePath));
		g.drawImage(image1, 0, 0, 100, 40, null);

		//g.fillRect(0, 0, width, height);
		String source = "0123456789qwertyuiopASDFGHJKL";
		String infor  = "";
		for (int i = 0; i < 4; i++) {

			int index =  new Random().nextInt(source.length()-1);
			char myCode = source.charAt(index);
			Random random = new Random();
			g.setColor(new Color(20+random.nextInt(120),20+random.nextInt(120),20+random.nextInt(120)));
			g.drawString(myCode+"", 15+i*20, 20+new Random().nextInt(10));
			g.drawLine(random.nextInt(100), random.nextInt(40), random.nextInt(100), random.nextInt(40));
			infor += myCode;//记录到后台,以备将来匹配s

		}
		request.getSession().setAttribute("infor", infor);
		
		System.out.println(infor);
		
		
		g.dispose();
		OutputStream out  = response.getOutputStream();
		ImageIO.write(image,"gif", out);
		out.flush();
		out.close();
	}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/358220.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号