z1captcha

package module
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 25, 2023 License: Apache-2.0 Imports: 8 Imported by: 0

README

z1captcha

介绍

no store captcha

软件架构
  1. 实现思路
1   不使用存储验证
2   通过验证是否过期来判断验证码是否有效
3   验证码为0-9a-Z的62(b)个基本字符组成的字符串,长度为n,n>=4
4   前面n-1随机从基本字符中抽取
5   最后一位为校验位
6   校验位按下面规则生成。前n为在基本字符中的索引之后s,加上当前时间戳是第几个过期时段e等于s2,s2模b等于第n为的索引in
7   校验校验位的方法和生成方法类,只是需要把e和e-1分别进行验证,有一个通过就视为有效。不然可能出现,刚刚生成好验证码就进入到了下一个过期时段,导致验证失败的情况。所以验证码的有效时间是,大于有效期小于2倍有效期。即实践有效期为2倍有效期。所以对内的有效时间是t,而对内的有效时间为2t。我们在生成和校验时使用是用二分之一t,最终表现出来的有效时间就是t。
8   默认把timeout 分为5份TimeoutPeriodSteps=5,就可以保证有效的超时时间tt满足,4/5t <= tt < t



安装教程
  1. xxxx
  2. xxxx
  3. xxxx
使用说明
  1. read test/case_test.go
  2. xxxx
  3. xxxx
参与贡献
  1. Fork 本仓库
  2. 新建 Feat_xxx 分支
  3. 提交代码
  4. 新建 Pull Request
特技
  1. 使用 Readme_XXX.md 来支持不同的语言,例如 Readme_en.md, Readme_zh.md
  2. Gitee 官方博客 blog.gitee.com
  3. 你可以 https://gitee.com/explore 这个地址来了解 Gitee 上的优秀开源项目
  4. GVP 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目
  5. Gitee 官方提供的使用手册 https://gitee.com/help
  6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 https://gitee.com/gitee-stars/

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Generate

func Generate(opt ...CaptchaOpt) (text, b64s string)

func GenerateText

func GenerateText(opt ...CaptchaOpt) (ret string)

func Verify

func Verify(captcha string, opt ...CaptchaOpt) (ret bool)

Types

type CaptchaOpt

type CaptchaOpt struct {
	Length               int    // 验证码长度
	Timeout              int64  // 验证码超时时间
	Source               string // 验证码中可能出现的字符
	Password             string // 验证码密码
	TimeoutPeriodSteps   int64  // 验证码超时时间周期分步
	TimeoutPeriodPreStep int64  // 验证码超时时间周期前面第几部

	// Height png height in pixel.
	Height int
	// Width Captcha png width in pixel.
	Width int
	//NoiseCount text noise count.
	NoiseCount int
	//ShowLineOptions := OptionShowHollowLine | OptionShowSlimeLine | OptionShowSineLine .
	ShowLineOptions int
	//BgColor captcha image background color (optional)
	BgColor *color.RGBA
}

func GetCaptchaOpt

func GetCaptchaOpt(opt ...CaptchaOpt) (optRet CaptchaOpt)

Directories

Path Synopsis
test
rs

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL