user/pkg/captcha/captcha.go
timerzz e7e3309896 优化Docker构建流程
- 添加UPX压缩步骤减小可执行文件体积
- 使用多阶段构建减小最终镜像大小
- 更新基础镜像到最新版本
2025-04-22 17:30:36 +08:00

29 lines
490 B
Go

package captcha
import (
"fmt"
"math"
"math/rand/v2"
"time"
)
type Generator interface {
Generate() string
}
type stringCaptchaGenerator struct {
length int
}
func NewStringCaptchaGenerator(length int) Generator {
return &stringCaptchaGenerator{
length: length,
}
}
func (s *stringCaptchaGenerator) Generate() string {
n := math.Pow(10, float64(s.length))
r := rand.New(rand.NewPCG(uint64(time.Now().UnixNano()), 2)).IntN(int(n))
return fmt.Sprintf("%0*d", s.length, r)
}