验证码的生成 布满荆棘的人生 2023-06-13 09:25 124阅读 0赞 import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.image.BufferedImage; import java.io.IOException; import java.util.Random; import javax.imageio.ImageIO; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import com.lutongnet.constant.AbstractSessionData; /** * 验证码控制器 * @author lizhangyu * @Date 2019-11-14 */ @Controller public class VerifyCodeController { /** * 获取随机颜色 * @param fc 种子数 * @param bc 种子数 * @return 颜色对象 */ public 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); } /** * 生成校验码 * @param request HttpServletRequest对象 * @param response HttpServletResponse对象 * @throws IOException IO操作异常 */ @RequestMapping(value = "/login/verifyCode") public void genereate(HttpServletRequest request, HttpServletResponse response) throws IOException { int width = 60; int 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 < 10; 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); } request.getSession().setAttribute(AbstractSessionData.VERIFY_CODE, sRand); g.dispose(); response.setHeader("Pragma", "No-cache"); response.setHeader("Cache-Control", "no-cache"); response.setDateHeader("Expires", 0); ImageIO.write(image, "JPEG", response.getOutputStream()); response.getOutputStream().close(); } }
相关 验证码的生成 import java.awt.Color; import java.awt.Font; import java.awt.Graphics; i 布满荆棘的人生/ 2023年06月13日 09:25/ 0 赞/ 125 阅读
相关 java生成汉字验证码,java实现验证码类生成中文验证码 代码如下: package xwcms.net.service; import java.awt.Color; import java.awt.Font; import ﹏ヽ暗。殇╰゛Y/ 2023年01月16日 06:28/ 0 赞/ 399 阅读
相关 生成验证码 import java.awt.Color; import java.awt.Font; import java.awt.Graphics; i 短命女/ 2022年10月07日 07:53/ 0 赞/ 396 阅读
相关 验证码的生成 public class ValidateCode : System.Web.UI.Page \{ private void Page\_Load( obj 心已赠人/ 2022年09月19日 14:26/ 0 赞/ 295 阅读
相关 验证码生成 视图函数里 > 1,导入图片,画布,画笔,画笔上的字体,定义坐标 > 2,从外部导入字体(字体导入到static静态中) > 3,随机生成验证码,验证码颜色,验证 缺乏、安全感/ 2022年06月03日 02:23/ 0 赞/ 485 阅读
相关 生成验证码 一 代码 <style type="text/css"> <!-- .STYLE1 {font-size: 13px} .STYLE3 {fo 川长思鸟来/ 2022年05月11日 23:14/ 0 赞/ 535 阅读
相关 生成验证码 import java.awt.Color; import java.awt.Font; import java.awt.Graphics2D; 朱雀/ 2022年05月09日 09:10/ 0 赞/ 451 阅读
相关 随机验证码的生成 随机验证码的生成(手机或者邮箱验证码) 先写了个随机验证码的工具类 public class Randomutil \{ private Randomutil() \ 怼烎@/ 2022年05月08日 10:22/ 0 赞/ 511 阅读
相关 【验证码】PHP生成随机验证码 <?php // Header("Content-type: image/gif"); / 初始化 / $bo 本是古典 何须时尚/ 2021年09月26日 02:36/ 0 赞/ 755 阅读
还没有评论,来说两句吧...