java 验证码
来源:互联网 发布:大六壬排盘软件安卓版 编辑:程序博客网 时间:2024/06/05 18:53
/** * 生成验证码图片 * @param request * @param response * @throws IOException */@RequestMapping(value = "user/authImage", method = { RequestMethod.POST, RequestMethod.GET })@ResponseBodypublic void doAuthImage(HttpServletRequest request, HttpServletResponse response) throws IOException {String rand = null; response.setHeader("Pragma","No-cache"); response.setHeader("Cache-Control","no-cache"); response.setDateHeader("Expires", 0); response.setContentType("image/jpeg");OutputStream toClient = response.getOutputStream();rand = iVideoCloudService.doAuthImage(toClient);if (rand != null) {request.getSession().setAttribute("rand", rand);}}
public String doAuthImage(OutputStream toClient) {String rand = "";int width=100, height=25; BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); Font mFont = new Font("Times New Roman", Font.PLAIN, 24); Graphics g = image.getGraphics(); Random random = new Random(); g.setColor(getRandColor(200,250)); g.fillRect(1, 1, width-1, height-1); g.setColor(new Color(102,102,102)); g.drawRect(0, 0, width-1, height-1); g.setFont(mFont); g.setColor(getRandColor(160,200)); //画随机线 for (int i=0;i<155;i++) { int x = random.nextInt(width - 1); int y = random.nextInt(height - 1); int xl = random.nextInt(6) + 1; int yl = random.nextInt(12) + 1; g.drawLine(x,y,x + xl,y + yl); } //从另一方向画随机线 for (int i = 0;i < 70;i++) { int x = random.nextInt(width - 1); int y = random.nextInt(height - 1); int xl = random.nextInt(12) + 1; int yl = random.nextInt(6) + 1; g.drawLine(x,y,x - xl,y - yl); } //生成随机数,并将随机数字转换为字母 for (int i=0;i<4;i++) { int itmp = random.nextInt(26) + 65; char ctmp = (char)itmp; rand += String.valueOf(ctmp); g.setColor(new Color(20+random.nextInt(110),20+random.nextInt(110),20+random.nextInt(110))); g.drawString(String.valueOf(ctmp),20*i+13,23); } g.dispose(); try {ImageIO.write(image, "JPEG", toClient);} catch (IOException e) {return null;}return rand;}
0 0
- java验证码 验证
- JAVA 验证码
- java验证码类
- java随机验证码
- JAVA中文验证码
- java 实现验证码
- java验证码
- java生成验证码
- java验证码代码
- java验证码汇总
- Java彩色验证码
- java验证码代码
- java图片验证码
- java图片验证码
- java验证码
- java 中的验证码
- java验证码汇总
- java图片验证码
- 讨论、思考题
- UML类图几种关系总结
- ListActivity和ListAdapter的应用和分析
- IBM的Kubernetes on Mesos探索之路
- leetcode 24. Swap Nodes in Pairs 单向链表操作
- java 验证码
- Android Service详解(三)---IntentService
- Java - ArratList-> toarray()方法详解
- Spring Batch 之 Sample(CSV文件操作)(四)
- 开发中的小细节
- Unity中用到的一些方法
- 【BFS】广度优先搜索&【DFS】深度优先搜索
- mysql 写计数器需要注意的问题
- 触摸评上调试应用遇到的问题