1 Star 0 Fork 43

githubvip / go验证码合集包

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
captcha_test.go 2.95 KB
一键复制 编辑 Web IDE 原始数据 按行查看 历史
shirdon 提交于 2019-07-07 16:16 . commit
//++++++++++++++++++++++++++++++++++++++++
//Fighting for great,share generate value!
//Build the best soft by golang,let's go!
//++++++++++++++++++++++++++++++++++++++++
//Author:ShirDon <http://www.shirdon.com>
//Email:hcbsts@163.com; 823923263@qq.com
//++++++++++++++++++++++++++++++++++++++++
package captchas_with_go
import (
"os"
"testing"
"time"
)
func TestCaptcha(t *testing.T) {
captcha, err := getCaptcha()
if nil != err {
t.Fatalf("getCaptcha Error:%s", err.Error())
}
key, err := captcha.GetKey(4)
if nil != err {
t.Fatalf("GetKey Error:%s", err.Error())
}
captcha.GetImage(key)
captcha.Verify(key, "test")
}
func BenchmarkCaptcha(t *testing.B) {
captcha, err := getCaptcha()
if nil != err {
t.Fatalf("getCaptcha Error:%s", err.Error())
}
for i := 0; i < t.N; i++ {
s, _ := captcha.GetKey(4)
captcha.GetImage(s)
captcha.Verify(s, "ssss")
}
}
func BenchmarkCaptchaInternalAPI(t *testing.B) {
captcha, err := getCaptcha()
if nil != err {
t.Fatalf("getCaptcha Error:%s", err.Error())
}
for i := 0; i < t.N; i++ {
s, _ := captcha.GetKey(4)
captcha.Verify(s, "ssss")
}
}
func BenchmarkCaptchaDrawImage(t *testing.B) {
captcha, err := getCaptcha()
if nil != err {
t.Fatalf("getCaptcha Error:%s", err.Error())
}
for i := 0; i < t.N; i++ {
s, _ := captcha.GetKey(4)
captcha.GetImage(s)
}
}
func getCaptcha() (*Captcha, error) {
wordDict, captchaConfig, imageConfig, filterConfig, storeConfig := loadConfig()
wordmgr, err := CreateWordManagerFromDataFile(wordDict)
captcha, err := CreateCaptcha(wordmgr, captchaConfig, imageConfig, filterConfig, storeConfig)
return captcha, err
}
func loadConfig() (string, *CaptchaConfig, *ImageConfig, *FilterConfig, *StoreConfig) {
pwd, _ := os.Getwd()
data_path := pwd + "/data/"
wordDict := data_path + "en_phrases"
captchaConfig := new(CaptchaConfig)
captchaConfig.LifeTime = 10 * time.Second
imageConfig := new(ImageConfig)
imageConfig.FontFiles = []string{data_path + "zpix.ttf"}
imageConfig.FontSize = 26
imageConfig.Height = 40
imageConfig.Width = 120
filterConfig := new(FilterConfig)
filterConfig.Init()
filterConfig.Filters = []string{"ImageFilterNoiseLine", "ImageFilterNoisePoint", "ImageFilterStrike"}
var filterConfigGroup *FilterConfigGroup
filterConfigGroup = new(FilterConfigGroup)
filterConfigGroup.Init()
filterConfigGroup.SetItem("Num", "5")
filterConfig.SetGroup("ImageFilterNoiseLine", filterConfigGroup)
filterConfigGroup = new(FilterConfigGroup)
filterConfigGroup.Init()
filterConfigGroup.SetItem("Num", "10")
filterConfig.SetGroup("ImageFilterNoisePoint", filterConfigGroup)
filterConfigGroup = new(FilterConfigGroup)
filterConfigGroup.Init()
filterConfigGroup.SetItem("Num", "3")
filterConfig.SetGroup("ImageFilterStrike", filterConfigGroup)
storeConfig := new(StoreConfig)
storeConfig.Engine = STORE_ENGINE_BUILDIN
storeConfig.GcDivisor = 100
storeConfig.GcProbability = 1
return wordDict, captchaConfig, imageConfig, filterConfig, storeConfig
}
Go
1
https://gitee.com/githubvip/captchas_with_go.git
git@gitee.com:githubvip/captchas_with_go.git
githubvip
captchas_with_go
go验证码合集包
master

搜索帮助

14c37bed 8189591 565d56ea 8189591