go 超好用图形验证码

 

https://zh.mojotv.cn/go/refactor-base64-captcha

点击下图链接 跳转到github中:

  

使用单机部署:

生成图片验证码:

复制代码
package Controllers

// 图形验证码

import (
    "github.com/gin-gonic/gin"
    "github.com/mojocn/base64Captcha"
    "go.uber.org/zap"
    "net/http"
)

var store = base64Captcha.DefaultMemStore

func GetCaptcha(c *gin.Context) {
    driver := base64Captcha.NewDriverDigit(100, 220, 5, 0.7, 80)
    cp := base64Captcha.NewCaptcha(driver, store)
    id, bas64, err := cp.Generate()       // 开始生成

    if err != nil {
        Logger, err := NewLogger() // 记录日志 2
        su := Logger.Sugar()
        defer su.Sync()
        su.Info("验证码生成错误原因",
            zap.String("err", err.Error()),
        )

        c.JSON(http.StatusInternalServerError, gin.H{
            "msg": "验证码生成错误!",
        })
        return
    }

    c.JSON(http.StatusOK, gin.H{
        "CaptchaId":   id,
        "CaptchaPath": bas64,
    })
}
复制代码

 

 返回结果:

 

解码:

func DecodeCaptcha(c *gin.Context) {
    if !store.Verify(c.Query("aptcha_id"), c.Query("captcha_path"), true) {
        c.JSON(http.StatusBadRequest, gin.H{
            "captcha": "验证码偶误",
        })
    }
}

 

posted @   现世中的素人  阅读(178)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示