1. 程式人生 > >谷歌 captcha 驗證碼生成工具

谷歌 captcha 驗證碼生成工具

1.用於生成驗證碼的圖片

a.pom

 <!--驗證碼 -->
        <dependency>
            <groupId>com.github.penggle</groupId>
            <artifactId>kaptcha</artifactId>
            <version>2.3.2</version>
        </dependency>
b.bean
@Configuration
public class ComponentConfig {

    @Bean
    public DefaultKaptcha getDefaultKaptcha() {
        DefaultKaptcha defaultKaptcha = new DefaultKaptcha();
        Properties properties = new Properties();
        properties.setProperty("kaptcha.border", "yes");
        properties.setProperty("kaptcha.border.color", "105,179,90");
        properties.setProperty("kaptcha.textproducer.font.color", "blue");
        properties.setProperty("kaptcha.image.width", "125");
        properties.setProperty("kaptcha.image.height", "45");
        properties.setProperty("kaptcha.textproducer.font.size", "45");
        properties.setProperty("kaptcha.session.key", "code");
        properties.setProperty("kaptcha.textproducer.char.length", "4");
        properties.setProperty("kaptcha.textproducer.font.names", "宋體,楷體,微軟雅黑");
        Config config = new Config(properties);
        defaultKaptcha.setConfig(config);
        return defaultKaptcha;
    }

}

c.controller

@Slf4j
@RestController
@RequestMapping
public class SampleController {

    public static final String ROOT_PATH = "/test";


    @Autowired
    private SampleService sampleService;

    @Autowired
    private DefaultKaptcha captchaProducer = null;

    /**
     * 驗證碼生成介面
     * 127.0.0.1:8081/captcha
     * @param request
     * @param response
     * @throws Exception
     */
    @RequestMapping(value = "captcha")
    public void getKaptchaImage(HttpServletRequest request, HttpServletResponse response) throws Exception {
        HttpSession session = request.getSession();
        response.setDateHeader("Expires", 0);
        response.setHeader("Cache-Control", "no-store, no-cache, must-revalidate");
        response.addHeader("Cache-Control", "post-check=0, pre-check=0");
        response.setHeader("Pragma", "no-cache");
        response.setContentType("image/jpeg");
        //生成驗證碼
        String capText = captchaProducer.createText();
        session.setAttribute(Constants.KAPTCHA_SESSION_KEY, capText);
        //向客戶端寫出
        BufferedImage bi = captchaProducer.createImage(capText);
        ServletOutputStream out = response.getOutputStream();
        ImageIO.write(bi, "jpg", out);
        try {
            out.flush();
        } finally {
            out.close();
        }
    }
}

測試:


相關推薦

captcha 驗證生成工具

1.用於生成驗證碼的圖片a.pom <!--驗證碼 --> <dependency> <groupId>com.github.penggle</groupId> &

驗證生成工具

ray 位置 next create web hist awt public let CaptchaUnit.javapackage com.jason.www.common;import java.awt.*;import java.awt.image.BufferedI

java圖形驗證生成工具類及web頁面校驗驗證

組合 line des resp word buffere 需要 case ali 最近做驗證碼,參考網上案例,發現有不少問題,特意進行了修改和完善。驗證碼生成器:[ht

二維生成

相關jar包下載 private static final int BLACK = 0xff000000; private static final int WHITE = 0xFFFFFFFF; public static void genGR(String we

Java的驗證生成工具類程式碼以及控制器程式碼

import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.RenderingHints; import jav

微信掃支付功能(1)---通過二維工具生成付款

生成付款二維碼 一、微信網站掃碼支付介紹    1、掃碼支付文件   有關微信支付的流程圖微信官方已經說的很清楚了,這裡也無需其它解釋。這邊採用微信支付掃碼模式二(不依賴商戶平臺設定回撥url),所以在生成二維碼之前 要先呼叫微信統一下單支付介面,獲得code_url,再通過谷歌二維碼工具將c

Node.js圖片驗證生成svg-captcha

var option = { size: 6, // 驗證碼長度 ignoreChars: '0o1ilI', // 驗證碼字元中排除 0o1i noise: 2, // 干擾線條的數量 color: true, // 驗證碼的字元是否有顏色,預設沒有,如果設

Java工具--滑塊驗證生成

1概述 針對當前網際網路流行的滑塊驗證碼,這裡做了一個工具,適用於前後端分離的專案。工具將摳圖和摳圖後的原圖以位元組碼的形式輸出。 2工具原始碼 package com.liutao.util; import javax.imageio.ImageIO; import

Python計算身份驗證器(google authenticator)的驗證

谷歌身份驗證碼是繼續時間計算的。服務端和客戶端各自根據金鑰,基於時間為30秒為驗證碼,網上搜了很多,一直報錯,還是看我同事何澤 解決報錯TypeError: Incorrect padding 的問題,

使用Mybatis 代生成工具

generator div 文件 生成 png artifact tps 最終 ati 之前都是使用MyBatis Generator https://github.com/mybatis/generator org.mybatis.g

驗證生成驗證

+= pan onclick eat insert round tty ntb 驗證碼生成 js /**從b * */ var code ; //在全局定義驗證碼 //產生驗證碼 window.onload = function createCode(){

二維生成工具

class qrc import date [] 二維碼 () exc stat 1 package com.ideal.common.util; 2 3 import java.awt.image.BufferedImage; 4 import java.io

Django學習系列之captcha 驗證插件

應用 自動 sta 前端 流程 bsp msg char erro 安裝部署 安裝captcha pip3.6 install django-simple-captcha==0.4.6 settings.py中引入captcha INSTALLED_APPS = [

基於Metronic的Bootstrap開發框架經驗總結(18)-- 在代生成工具Database2Sharp中集成對Bootstrap-table插件的分頁及排序支持

關註 基礎 表頭 數據 database 一定的 處理 tree的使用 適合 在我們開發系統界面,包括Web和Winform的都一樣,主要的界面就是列表展示主界面,編輯查看界面,以及一些輔助性的如導入界面,選擇界面等,其中列表展示主界面是綜合性的數據展示界面,一般往往需要對

阿裏雲 windows 2008 使用Thinkphp5 captcha驗證不顯示問題

ali 路徑 HP 分享 緩沖區 作用 網站 try ron 第一次使用Thinkphp5在阿裏雲上面運行,後臺驗證碼竟然顯示不出來!有種要吐血的感覺。。。找了半天,終於找到類似解決辦法 thinkphp,onethink和thinkox中驗證碼不顯示的解決方法分析_php

強大的驗證生成模塊

繁體字 new ase import ini lse 圖片 codes ID # 首先要安裝PIL庫 pip3 install pillow from PIL import Image, ImageDraw, ImageFont, ImageFilter import

登陸頁面的驗證生成驗證

數字 name ron als ntc per null 註冊 errorlog 登陸頁面的驗證碼生成與驗證 特點:基於strurs2框架 減少對數據庫的訪問次數 避免無效的訪問 提高服務器的性能 1 登陸界面:基於struts2框架 <s:src actio

JS驗證生成(入門級別)

mage default etc 更換 默認 function asc col lineto 練手項目:JavaScript驗證碼 1 <!DOCTYPE html> 2 <html> 3 4 <head> 5

vue項目條形碼和二維生成工具試用

def info 接口 eight width ppi PE port image 項目開發需要,優惠券分不同類型,簡單的使用id生成條形碼供店鋪使用,麻煩點的需要多個字段的就需要使用二維碼來展示了,對應的效果如下 條形碼(一維碼)使用工具code128 需引入co

Flask實戰第40天:圖片驗證生成技術

all see pillow 字體大小 src print new line 訪問 安裝pillow pip install pillow 在utils下新建python package命名為captcha 把需要需要用到的字體放在captcha下 編輯