app直播源码,登录时输入验证码、短信验证身份

app直播源码,登录时输入验证码、短信验证身份实现的相关代码

一、引入依赖

验证码依赖

 

1
        <!--谷歌验证码依赖--><br>        <dependency><br>            <groupId>com.github.axet</groupId><br>            <artifactId>kaptcha</artifactId><br>            <version>0.0.9</version><br>        </dependency>

二、kaptcha配置

1.配置类

代码如下(示例):

 

1
package com.wql.server.config;<br>import com.google.code.kaptcha.impl.DefaultKaptcha;<br>import com.google.code.kaptcha.util.Config;<br>import org.springframework.context.annotation.Bean;<br>import org.springframework.context.annotation.Configuration;<br>import java.util.Properties;<br>/**配置验证码<br> * Description<br> * User:<br> * Date:<br> * Time:<br> */<br>@Configuration<br>public class CaptchaConfig {<br>    @Bean<br>    public DefaultKaptcha getDefaultKaptcha(){<br>        //验证码生成器<br>        DefaultKaptcha defaultKaptcha = new DefaultKaptcha();<br>        //配置<br>        Properties properties = new Properties();<br>        //是否有边框<br>        properties.setProperty("kaptcha.border", "yes");<br>        //设置边框颜色<br>        properties.setProperty("kaptcha.border.color", "105,179,90");<br>        //边框粗细度,默认为1<br>        // properties.setProperty("kaptcha.border.thickness","1");<br>        //验证码<br>        properties.setProperty("kaptcha.session.key","code");<br>        //验证码文本字符颜色 默认为黑色<br>        properties.setProperty("kaptcha.textproducer.font.color", "blue");<br>        //设置字体样式<br>        properties.setProperty("kaptcha.textproducer.font.names", " 宋体,楷体,微软雅黑");<br>        //字体大小,默认40<br>        properties.setProperty("kaptcha.textproducer.font.size", "30");<br>        //验证码文本字符内容范围默认为abced2345678gfynmnpwx<br>        // properties.setProperty("kaptcha.textproducer.char.string", "");<br>        //字符长度,默认为5<br>        properties.setProperty("kaptcha.textproducer.char.length", "4");<br>        //字符间距默认为2<br>        properties.setProperty("kaptcha.textproducer.char.space", "4");<br>        //验证码图片宽度默认为200<br>        properties.setProperty("kaptcha.image.width", "100");<br>        //验证码图片高度默认为40<br>        properties.setProperty("kaptcha.image.height", "40");<br>        Config config = new Config(properties);<br>        defaultKaptcha.setConfig(config);<br>        return defaultKaptcha;<br>    }<br>}

 

2.接口信息

代码如下(示例):

 

1
package com.wql.server.controller;<br>import com.google.code.kaptcha.impl.DefaultKaptcha;<br>import io.swagger.annotations.Api;<br>import io.swagger.annotations.ApiOperation;<br>import org.springframework.beans.factory.annotation.Autowired;<br>import org.springframework.stereotype.Controller;<br>import org.springframework.web.bind.annotation.GetMapping;<br>import org.springframework.web.bind.annotation.RestController;<br>import javax.imageio.ImageIO;<br>import javax.servlet.ServletOutputStream;<br>import javax.servlet.http.HttpServletRequest;<br>import javax.servlet.http.HttpServletResponse;<br>import java.awt.image.BufferedImage;<br>import java.io.IOException;<br>/**验证码<br> * Description<br> * User:<br> * Date:<br> * Time:<br> */<br>@Api(tags = "验证码请求")<br>@RestController<br>public class CaptchaController {<br>    @Autowired<br>    private DefaultKaptcha defaultKaptcha;<br>    @ApiOperation("验证码")<br>    @GetMapping(value="/captcha",produces = "image/jpeg")<br>    public void captcha(HttpServletRequest request,HttpServletResponse response){<br>        //定义response输出类型为image/jpeg类型<br>        response.setDateHeader("Expires", 0);<br>        // Set standard HTTP/1.1 no-cache headers.<br>        response.setHeader("Cache-Control", "no-store, no-cache, must revalidate");<br>        // Set IE extended HTTP/1.1 no-cache headers (use addHeader).<br>        response.addHeader("Cache-Control", "post-check=0, pre-check=0");<br>        // Set standard HTTP/1.0 no-cache header.<br>        response.setHeader("Pragma", "no-cache");<br>        // return a jpeg<br>        response.setContentType("image/jpeg");<br>        //---------生成验证码----------<br>        //获取验证码文本内容,并将其放入session中进行传输<br>        String text = defaultKaptcha.createText();<br>        System.out.println("验证码的内容是:"+text);<br>        request.getSession().setAttribute("captcha",text);<br>        //根据验证码文本内容创建图片<br>        BufferedImage bimg = defaultKaptcha.createImage(text);<br>        ServletOutputStream out = null;<br>        try {<br>            out  = response.getOutputStream();<br>            ImageIO.write(bimg,"jpg",out);<br>            out.flush();<br>        } catch (IOException e) {<br>            e.printStackTrace();<br>        }finally {<br>            if(null!=out){<br>                try {<br>                    out.close();<br>                } catch (IOException e) {<br>                    e.printStackTrace();<br>                }<br>            }<br>        }<br>    }<br>}<br>data = pd.read_csv(<br>    'https://labfile.oss.aliyuncs.com/courses/1283/adult.data.csv')<br>print(data.head())

 

以上就是 app直播源码,登录时输入验证码、短信验证身份实现的相关代码,更多内容欢迎关注之后的文章

 

posted @   云豹科技-苏凌霄  阅读(221)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示