package utils import ( "crypto/rand" "fmt" ) // GenerateCaptcha 生成6位数字验证码 func GenerateCaptcha() (string, error) { // 生成6位随机数字 b := make([]byte, 3) if _, err := rand.Read(b); err != nil { return "", err } // 将随机字节转换为6位数字 num := int(b[0])<<16 | int(b[1])<<8 | int(b[2]) return fmt.Sprintf("%06d", num%1000000), nil } // GenerateEmailCaptchaContent 生成验证码邮件内容 func GenerateEmailCaptchaContent(code, username, action string) string { return fmt.Sprintf(`
您好,%s
您正在进行%s操作,验证码为:
验证码有效期为5分钟,请勿泄露给他人。
如果这不是您的操作,请忽略此邮件。
`, username, action, code) }