base64captcha是基于Go的图形验证码插件,支持任意Unicode字符,并且可以轻松自定义以支持数学、中文韩文、日文、俄语、阿拉伯语等。
安装
代码语言:javascript复制go get -u github.com/mojocn/base64Captcha
使用
生成
代码语言:javascript复制// 设置自带的 store(可以配置成redis)
var store = base64Captcha.DefaultMemStore
type CaptchaResponse struct {
Id string
Encode string
}
func Captcha() *CaptchaResponse {
// 配置验证码的参数
driverString := base64Captcha.DriverString{
Height: 40,
Width: 100,
NoiseCount: 0,
ShowLineOptions: 2 | 4,
Length: 8,
Source: "1234567890qwertyuioplkjhgfdsazxcvbnmQWERTYUIOPLKJHGFDSAZXCVBNM",
BgColor: &color.RGBA{R: 3, G: 102, B: 214, A: 125},
Fonts: []string{"wqy-microhei.ttc"},
}
// ConvertFonts 按名称加载字体
driver := driverString.ConvertFonts()
// 创建 Captcha
captcha := base64Captcha.NewCaptcha(driver, store)
// Generate 生成随机 id、base64 图像字符串
id, b64s, err := captcha.Generate()
if err != nil {
return nil
}
return &CaptchaResponse{
Id: id,
Encode: b64s,
}
}
验证
代码语言:javascript复制func VerifyCaptcha(id string, VerifyValue string) bool {
if store.Verify(id, VerifyValue, true) {
//验证成功
return true
}
return false
}
示例
代码语言:javascript复制{
"Id": "yq43FE70VFZsaZxXzf9e",
"Encode": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAAoCAYAAAAIeF9DAAANP0lEQVR4nOybCXQUx5nHvz6m574kje5rhCRkjCwMwmBJtqzYwnaAdSQ7ITYOcUyMwdnNUzBs7HixHUIOWBzFdgI 8lg2SwKBXZblMNfKgtgIDBEgC10IdCMJzaXR3NNXXo/cw2guaaTxBfzfmzfdPVVffV2//qq/qpJw4uIH6 C2AlSfOX99qN/mdJ15daJ2yr67Oaid2l1rgtrAJ2r4VlE0QISCAGFA8AoAwjsUyVNws2gqMKYCwVchI RWAhMMxETuO1oQfDXukMU5e7NCmQyIzwOCr5BQL/XJPjVfB4UamkLd3 cNwVchgfC6mcBEAiLaEN6Z/1xIeyvPvO 1Ny4QiGIK GVpoiCiCSEcAPCD4KsJAeH1dQMzVRCRQJgsAH9FBITXVxnMRH2bajREC4C/JgXEV5HAeenBAwFlWQRYBkNJlxS3mBMl/e1FiZfqlua0AgJsNHzw9WOyEMbrfJgCAH9NGQiv8TqF055pr/CHLIt85sBotyO 5Yypso4//b7kz065gJxsW/AZiMlACAbAThDQnpwEOqUCXAIB0ARuH0mObW qLPrQlJVo8i/fUPTuuD4W1D0f0H7Ulk74p3AinVXw8qNI7g9LvOe0iwJz6yC0vfc36DvSBDF91qz3atzr7qy6b1J 8BDKAAJ8CQZhvAj46e5fbS7 3b4XMDclHkmJbXOoZAaxyRqn7rpecO/vD Sc knFFnNa3Eiwug0zEy5G4j9y8tTdAUNDufSXUQk/fzh8hBS8/Cj4AvFVTeU7YGzoBbk2Dh75/59MqJ1IIiFc5xtwKTTKkuHgjHmdiMUdAy5Kyl3XSsx0Bm4S9sQmtzc 88D/MVqlp/ML/3i0LOliR9m12dk1558tP lri4 QYFEQTjjX cdtr4xx0v8cJgkp4B0S5In1V2JpjgeIvX94XLu kXCt9RVAEBKSp2/ylOEhcACGZsF6EoSwWrQswBY39iNGp0i8taEcazEUIiwg6HWb1rcMQZM4N5YYu gc6at1VdSs NOOFwpqddNTu5IudoDQYldE0C1hhcf 66uVy1o7gMVxt/H1l7a677rTAH5QBgdIyPzZU tdThbuK5XDcys1U4qiHfWXjh56CD8V7LfK uaHcjH2fqbUQO3 y7NWIeVSMihGWgnJUFNc9jnqZ2cqgg1FnBhMQC7pahNwx0tCRIL/yxfts8okv/7k iwK8FrJ1Z0jdYqr7Bq0QigCGu/SueBwZqrxp1gdopwwfnr96H/diolQWsd4sqb0zR9k 0Lf HGdWsPaF5Yk4KZRzSq32359tDW6vdBSNB8hyNOJ6bZsHoF5mSTUtMIeObZWE/FaEWRrxCaRZIum7PxR42AzbHgraqshm5lSnf61g XxWS4U OHzqX2 9VZ0tXm f4t9yRTLoH/W5EDkFMoXIdQIAjIhCgGlWw8 zQPg5UKTM4n8/6XLEvr8i122ZF9MWXDrhXpYE5EhKij3yIRp5j7shJaR7Ks8aqOlsfmN0zlvn2Fs3I5aa5atUu9YfNKTG9MVm9680HTurXH AKqjW WY0ZTEhdBDc teeeb6nw93lf9BOrsvsvfGAFVHkiHkqTea NCYgFR6BzCzHpdQuHezmK5zpGM3mUD/WUGhra0lIqhBXQAoLvCeKvwEIIpkvRT9H5jEWp0JnvcEOEW 0/nbqOnqcz 5SgxQX28uuI/7n17/5PpelNmunI0qepzyqF1WsGnLIYyE21zPHmeJ9ecWTrb4kcOyvYdqhCdO18iOXTsin3hgg7J/sPZovqLRVwZW8Wi/e5Z XrumJHPPc8K07p9DSG0WYFaG0sV6JgMdkwk1cB8z3f sd6HuY /M3bMBX0SC2gRBmhmbK4RDIJv5 fOgvVuXEgCuCZ2524aE5wbLOZPXYuyDgWDwWvGvtPzJQZLulsiNI2IZOYYgzEzSWgF66mWh9qXzjgfql649Dds2mt59ukLROtlLdHaPkv p52P00kJ2 U7dld6nJ15x98t31vyKV WUZZ0AEDHGEM9G5dy3ybVQ3vKpQsbfX/zH94QbvLxGTeWuQFQyAhATBMw3MWCJgeDvPo EDXc6KNoTb44EYe7chAX7QllViYwuiuym0OVLfhz7b3JF66WmVPjWuqqHttDiQgq/vkP1sxABhR5 JAM2Vr74OVVZTXB6kaa9o4ZcX3fJ pf/PsqhKZxOkY9aFq39oNwRjDjoXzUPTCdESa10TFjYYDPsPUSjM7UuyV6GJAYb9RnUFCQEkizaSDWpQD8qAiEizrAtDQDrD QDLXGZp2r0RaFfArHFQNowI03G6bxx1SOOiQMTkkXO4pZFKHOrvrmXg4Gd82SrWlsbKCL5yuvQWZbx7zLEBzIsve tTcSV8c4yr9PWARhOBgsilLDL/7zLlYspkJaIHUSdPjEQhbBXXT80gOhioWbJzzR0wKrdvTCgm2NgIlooPQESK9qYEa2CdJEpvjCgUsLX6vfum6aqScukpvjhA8hQoQBzP86et2WxB8zmQr/XGGsDScpo0SE1amUesdDJl0xQLIYuFkUBBQpjNSvkG35XyAuNScjLOsBhTAMTrS0JbjzZxhDGri 41GEISW0suQAK0z1zla5/P vmdNDNuw7WavlD6QAy5NOLNV0Wqb3nou3zVzbLo1RumDESkDTFRX8qGvPj/OJsa7w0cdiQHGZFKZHhHQc6 04 RE0PVj7iIWM4Y9prVIf0lHudSMT6YUWhyaxoSNpsCBrwFMnQ6FX4k4QoTSMsMLovtR5Ec2taun w4s8DWpi zCdIVW2e9 3nIV3X6OyMgOWBtDh2hzU2V3ACuK6/rD46GIA7gPAgQgHw1w8 2io31wSgd3jmJsReTM0KcAzg3v/KW2k/25uhPMtz7 fNuX GLpb0iHuLbzw nrSM8fBDAih2omVBW2IZLxPNasSOsL0EXSW5tfkHTz73Tnbjv/QnKZpdktFVqHeGq QGYFhEbjqjKXD1Y9EN4CQJKp64w/fRkhKSCXE9 i2bN4Wv2r1cmxIn6be Objui1vbAcM9aQ 3NPvEgL8apMYLAoEXn6xJ3Mi0TAvyGqvvyRmt9Ljjgiz 16XknaVGxNYy6W/fMP3Og k7Dsfw/afPwXK/ejDs7v7H1bGjMCVhixQaYag05FqwIYh1rceQjMC/pgV46GHZABof2ROi0sh2aY90Vii6DfkoCQtogjcricl0ONUgJUhorYm6DWk3vx2GabTp7IYRpqrVu4FgYAZ/pfn98a8/psX8IFB7dPlP/h5iZ3wVjywhABTLAoZx5TwoTgtwPBktjlTmkyqGNdwpmC5DhwmtW3 tQs5BE0Kso090 PspuwLiXcc8a/jjaIKAM0Verb8MFbc1ZSuEUlcUHD/Jaj40UHYuenx2PO1BWOyvUrsPpKHgjiocTu0p iObu7Dn2MtxhjphjNVnhMCnWCuPb48joiPn8gQnvn7/dyxfUHZ0beW/7aKL/CJGIMjchpqpW7IcmPwUeoMGEl3QWO5DqQDAkj5SOY1NtkNf8WQQzTzeJ/2nj1XHwESRVkzDpJ8o3xBx6mlDIJQVoF0qC519t7jWcVhU0jdWuo89xk9w ACFMB2KACo5iJpzZjojFM4BAbT6Kj1DrXlxUybLaKVBmTYKfaeEGjYIS8S4ZhOL1Js 68nEJZFtG4Mlv3nmUW BeY5CPibkgA7Y4XtsQxoWRquVJg88wh5LwEfvaX1ZlaY7r/nct 06oEmEMTZQzWaf6x3wczjvQsgyH4Ii2DMaWbegZr776yP1k1CkBUDmeDEchTsGdxx/6AYMlNtAfOlcICw7hFvxscohQb/3yNd5eWFq35TvRi12ZUsjrvPbX7t7brcbM9MzDdNTWJc0OlsBpJ1waC7Bxya0eF38B4bYOaPF/sbZSS5fWwYIPzc0FseQyinTGDWZ8o7Tz ZfbpzbrxuMjcTiZhEaT86NApk4ycldfbSuUciWfXGui3JXlspsqgtLo7ZMfwi//7oyxZxuDNHtKPlezC6qDhsebe8Oti2cTAonFa VAg64 iQ51hx1x/J0tSeaPiFPJz3jZB71zcbhDFiWES 4viLiIPy7GW4Hsve4/pObsAqQzC9dqJ6ffX7o1llerIdql /EFBmsivfAUBuagh Em27NI o6VkIo6u9VvvL97xHZ6tC74xxQ9XVYaXk12ef84KszPmr6/GcplCRxGuigKL2Rw5fSzEsIlt9cjmqs3tm89zQ5Xwq73/IB8auZPMSnOjNEP2ltRKxkWoYneFfsm0o3h2s7HiAIASkWxsI1wFDdrH0F2e z LwI0dw6usQmgBDGGQYZcC6xjORg3OFL4MnSJrt71etBMk4SeVvgoHybsheKsDAc cwiUUv/vpN7BG3TyEDVwZ9hWLoSR1T JJx4r8U0BgUVsy8fpyG8gNYZdNakFt7x1YuykHtbhjwElLgQWEFeMWVkkY6LyYNnd5RjOTJrd Xj7c/pc2H9G5ahOdq64DgLovy4ew4XlbX7xuA/mK6TaQr5j EQAA//8wNw2eJl/BhAAAAABJRU5ErkJggg=="
}