Documentation ¶
Index ¶
Constants ¶
const ( //TxtNumbers chacters for numbers. TxtNumbers = "012346789" //TxtAlphabet characters for alphabet. TxtAlphabet = "ABCDEFGHJKMNOQRSTUVXYZabcdefghjkmnoqrstuvxyz" //MimeTypeCaptchaImage output base64 mine-type. MimeTypeCaptchaImage = "image/png" )
const ( MaxSkew = 0.7 // DotCount Number of background circles. DotCount = 20 )
Variables ¶
var ( // GCLimitNumber The number of captchas created that triggers garbage collection used by default store. GCLimitNumber = 10240 // Expiration time of captchas used by default store. Expiration = 10 * time.Minute )
Functions ¶
func CaptchaWriteToBase64Encoding ¶
func CaptchaWriteToBase64Encoding(cap CaptchaInterface) string
CaptchaWriteToBase64Encoding converts captcha to base64 encoding string. mimeType is one of "image/png".
func VerifyCaptcha ¶
VerifyCaptcha by given id key and remove the captcha value in store, return boolean value.
func VerifyCaptchaAndIsClear ¶
VerifyCaptchaAndIsClear verify captcha, return boolean value. identifier is the captcha id, verifyValue is the captcha image value, isClear is whether to clear the value in store.
Types ¶
type CaptchaImageDigit ¶
type CaptchaImageDigit struct { CaptchaItem *image.Paletted // contains filtered or unexported fields }
CaptchaImageDigit digits captcha Struct
func EngineDigitsCreate ¶
func EngineDigitsCreate(id string, config modeles.ConfigDigit) *CaptchaImageDigit
EngineDigitsCreate create captcha by engine-digits with configuration.
func (*CaptchaImageDigit) BinaryEncoding ¶
func (m *CaptchaImageDigit) BinaryEncoding() []byte
BinaryEncoding encodes an image to PNG and returns the result as a byte slice.
type CaptchaInterface ¶
type CaptchaInterface interface { // BinaryEncoding covert to bytes BinaryEncoding() []byte // WriteTo output captcha entity WriteTo(w io.Writer) (n int64, err error) }
CaptchaInterface captcha interface for captcha engine to to write staff
func GenerateCaptcha ¶
func GenerateCaptcha(idKey string, configuration modeles.ConfigDigit) (id string, captchaInstance CaptchaInterface, verifyValue string)
type CaptchaItem ¶
type CaptchaItem struct { // Content captcha entity content. Content string // VerifyValue captcha verify value. VerifyValue string // ImageWidth image width pixel. ImageWidth int // ImageHeight image height pixel. ImageHeight int }
CaptchaItem captcha basic information.
type ConfigDigit ¶
type ConfigDigit struct { // Height png height in pixel. // 图像验证码的高度像素. Height int // Width Captcha png width in pixel. // 图像验证码的宽度像素 Width int // DefaultLen Default number of digits in captcha solution. // 默认数字验证长度6. CaptchaLen int // MaxSkew max absolute skew factor of a single digit. // 图像验证码的最大干扰洗漱. MaxSkew float64 // DotCount Number of background circles. // 图像验证码干扰圆点的数量. DotCount int }
ConfigDigit config for captcha-engine-digit.