package utils import ( "math/rand" "github.com/lucasjones/reggen" ) func GeneratePassword() (string, error) { patterns := []string{ `[A-Z]{6,}[\d]{2,}[a-z]{2,}[@$!%*?&]{2,}[A-Za-z]{2,}`, `[A-Za-z]{2,}[a-z]{6,}[\d]{2,}[@$!%*?&]{4,}`, `[\d]{2,}[A-Z]{6,}[@$!%*?&]{4,}[a-z]{2,}`, `[@$!%*?&]{4,}[a-z]{4,}[A-Z]{4,}[\d]{2,}`, `[A-Z]{2,}[@$!%*?&]{6,}[a-z]{4,}[\d]{2,}`, `[A-Z]{4,}[\d]{6,}[@$!%*?&]{4,}[a-z]{2,}`, } i := rand.Intn(len(patterns)) pass, err := reggen.Generate(patterns[i], 14) return pass, err }