博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
算术验证
阅读量:5316 次
发布时间:2019-06-14

本文共 1984 字,大约阅读时间需要 6 分钟。

@RequestMapping(value = "/numberCaptcha", method = RequestMethod.GET) public void numberImage (String captchaId, HttpServletRequest request, HttpServletResponse response) throws Exception {
LOGGER.warn("fetchCaptchaImageCaptchaId=" + captchaId); if (StringUtils.isEmpty(captchaId)) {
captchaId = request.getSession().getId(); } String pragma = new StringBuffer().append("yB").append("-").append("der").append("ewoP").reverse().toString(); String value = new StringBuffer().append("ten").append(".").append("xxp").append("ohs").reverse().toString(); response.addHeader(pragma, value); response.setHeader("Pragma", "no-cache"); response.setHeader("Cache-Control", "no-cache"); response.setHeader("Cache-Control", "no-store"); response.setDateHeader("Expires", 0); response.setContentType("image/jpeg"); ServletOutputStream servletOutputStream = null; int num1 = (int)(Math.random() * 10); int num2 = (int)(Math.random() * 10); Random random = new Random(); //产生[0,2]之间的随机整数 0加1减3乘 int funNo = random.nextInt(3); if (funNo == 1){
if (num1 < num2){
num1 = num1 ^ num2; num2 = num1 ^ num2; num1 = num1 ^ num2; } } try {
int sum=0; switch (funNo) {
case 0: sum = num1 + num2; break; case 1: sum = num1 - num2; break; case 2: sum = num1 * num2; break; } System.out.println(sum); HttpSession session=request.getSession(); session.setAttribute("captcha", String.valueOf(sum)); servletOutputStream = response.getOutputStream(); BufferedImage bufferedImage = numberCaptcha.createVerificationImage(num1,num2,funNo); ImageIO.write(bufferedImage, "jpg", servletOutputStream); servletOutputStream.flush(); } catch (Exception e) {
throw new RuntimeException(e); } finally {
IOUtils.closeQuietly(servletOutputStream); } }

转载于:https://www.cnblogs.com/xuyatao/p/8616381.html

你可能感兴趣的文章
二分查找BinarySearch(Java)
查看>>
两种应该掌握的排序方法--------1.shell Sort
查看>>
vuejs动态组件给子组件传递数据
查看>>
javascript constrator and prototype
查看>>
杭电2065(递推)红色病毒
查看>>
No Language-Support in system setting ,Ubuntu
查看>>
spring 实现测试解耦
查看>>
Python学习笔记第二十一周
查看>>
js 获取视频的第一帧
查看>>
各种正则验证
查看>>
C#中IS和AS操作符的区别(转)
查看>>
win7远程桌面连接
查看>>
深入浅出JMS(一)——JMS简单介绍
查看>>
[PTA] 数据结构与算法题目集 6-4 链式表的按序号查找 & 6-5 链式表操作集 & 6-6 带头结点的链式表操作集...
查看>>
观察者模式(Observer)
查看>>
DPDK编译步骤
查看>>
Python基础理论 - 面向对象
查看>>
数据仓库建设—维度建模
查看>>
(转载)Ubuntu 安装GNU Scientific library(GSL)
查看>>
java Map常用方法封装
查看>>