当前位置: 首页 > news >正文

东营优化路网重庆seo公司排名

东营优化路网,重庆seo公司排名,网站建设洽谈问题,怎么做网站图片做的更好看在日常生活中,我们登录网站或者其他平台时,在填写完账号密码之后,还会让我们填写4或6位的数字或者英文字母等,填写正确才能请求登录。这个其实是防止某一个特定注册用户用特定程序暴力破解方式进行不断的登陆尝试,如下…

在日常生活中,我们登录网站或者其他平台时,在填写完账号密码之后,还会让我们填写4或6位的数字或者英文字母等,填写正确才能请求登录。这个其实是防止某一个特定注册用户用特定程序暴力破解方式进行不断的登陆尝试,如下图所示:

在这里插入图片描述

EasyCaptcha简介

现在,我们知道登录的时候需要填写验证码的原因,但图形验证码从何得来,是怎么生成的呢,这就需要我们去探索了。当然现在开源代码比较多,我这里推荐的就是一个开源的图形验证码,样式挺好看、类型也很多。

EasyCaptcha源码地址:https://gitee.com/ele-admin/EasyCaptcha

Java图形验证码,支持gif、中文、算术等类型,可用于Java Web、JavaSE等项目。

在这里插入图片描述

引入EasyCaptcha依赖

在IDEA中新建一个SpringBoot项目,版本为2.0以上的即可,在pom.xml中添加easycaptcha依赖,代码如下:

<!-- 图形验证码 -->
<dependency><groupId>com.google.guava</groupId><artifactId>guava</artifactId><version>18.0</version>
</dependency><dependency><groupId>com.github.whvcse</groupId><artifactId>easy-captcha</artifactId><version>1.6.2</version>
</dependency>

在项目中新建一个VerificationCode类,用来设置验证码图片的属性,包括宽度、高度、位数等操作。,代码如下:

    /*** 生成验证码图片的宽度*/private int width = 100;/*** 生成验证码图片的高度*/private int height = 30;/*** 生成验证码的位数*/private int digit = 4;/*** 生成的验证码code*/private String captchaCode;

接着在该类中新建一个生成验证码图形的方法。

    /*** 生成验证码** @return*/
public SpecCaptcha createVerificationCode() throws IOException, FontFormatException {// 三个参数分别为宽、高、位数SpecCaptcha specCaptcha = new SpecCaptcha(width, height, digit);// 设置字体specCaptcha.setFont(Captcha.FONT_9);// 设置类型,纯数字、纯字母、字母数字混合specCaptcha.setCharType(Captcha.TYPE_ONLY_NUMBER);// 验证码this.captchaCode = specCaptcha.text().toLowerCase();return specCaptcha;
}

我这里选择的是纯数字的类型,字体为FONT_9,在项目中可根据自己的需要进行修改。

接下来,写一个生成验证码的接口,将我们后端生成的数字以图片的格式返给前端展示。新建一个controller包,然后创建一个LoginController类。在该类中创建一个生成验证码的方法,并把图片以base64的格式输出,代码如下:

    @GetMapping("/captcha")public void getVerifyCode(HttpServletResponse response) throws IOException, FontFormatException {try {// 设置请求头为输出图片类型VerificationCode code = new VerificationCode();SpecCaptcha specCaptcha = code.createVerificationCode();// 创建字节数组输出流ByteArrayOutputStream baos = new ByteArrayOutputStream();// 将验证码图片输出到字节数组输出流中specCaptcha.out(baos);// 将字节数组转换为 Base64 编码byte[] imageBytes = baos.toByteArray();InputStream inStream = new ByteArrayInputStream(imageBytes);OutputStream outputStream = null;outputStream = new BufferedOutputStream(response.getOutputStream());//创建存放文件内容的数组byte[] buff = new byte[1024];//所读取的内容使用n来接收int n;//当没有读取完时,继续读取,循环while ((n = inStream.read(buff)) != -1) {//将字节数组的数据全部写入到输出流中outputStream.write(buff, 0, n);}//强制将缓存区的数据进行输出outputStream.flush();//关流outputStream.close();inStream.close();} catch (IOException e) {e.printStackTrace();}}

接下来,启动项目,然后在浏览器中,访问:http://localhost:8080/captcha地址,则就可以获取到图形验证码的图片。

在这里插入图片描述

http://www.laogonggong.com/news/19694.html

相关文章:

  • 唐山网站制作软件宁波seo整体优化
  • 花样云做网站怎样太原seo网站管理
  • 网站建设和管理情况360公司官网首页
  • 要做好网络营销首先要关于seo的行业岗位有哪些
  • 如何做一个网站的功能吗百度统计工具
  • 仿西部数码网站crm网站
  • 企业设计网站建设seo优化查询
  • 三合一网站和传统网站排名公式
  • 怎样将建设银行网站加入可信站百度地图官网2022最新版下载
  • 厦门网站建设 智多星必应搜索国际版
  • 网上作业网站怎么做的怎么推广销售
  • 政府网站建设 强化考评问责北京seo公司排名
  • 上海建设行政主管部门政务网站北京seo推广系统
  • 页面设计时最好使用一种颜色哈尔滨优化网站公司
  • 网站开发工作时间百度新闻最新消息
  • 佛山中小企业网站制作推广普通话手抄报内容文字
  • 深圳市水榭花都房地产公司优化
  • 杭州做网站排名软件谁能给我个网址
  • 微网站开发平台郑州做网站最好的公司
  • 织梦本地做的网站内网访问不百度怎么推广自己的信息
  • 公司网站怎样制作seo咨询师
  • 网站主体负责人是法人百度seo多久能优化关键词
  • 网站开发包含的项目和分工广州seo顾问seocnm
  • 仁寿网站建设网络营销专业就业方向
  • 网站建设 朝阳区网络营销的招聘信息
  • 上传的网站打不开 index.asp专业黑帽seo
  • 县蒙文网站建设汇报怎么创建网站链接
  • 关键词seo排名公司seo修改器
  • 企业网站建设策划书标准版怎么做市场推广
  • 淘宝网站短链接怎么做广告平台