utils.go 871 Bytes
package common

import (
	"crypto/md5"
	"encoding/hex"
	"math/rand"
	"strings"
	"time"
)

func Md5V(str string) string  {
	h := md5.New()
	h.Write([]byte(str))
	return hex.EncodeToString(h.Sum(nil))
}

func Timex() int64 {
	return time.Now().Unix()
}

var defaultLetters = []rune("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789")
func RandomString(n int, allowedChars ...[]rune) string {
	var letters []rune

	if len(allowedChars) == 0 {
		letters = defaultLetters
	} else {
		letters = allowedChars[0]
	}

	b := make([]rune, n)
	for i := range b {
		b[i] = letters[rand.Intn(len(letters))]
	}

	return string(b)
}


func RandomName(name [][]string) string {
	idx1 := rand.Intn(len(name[0]))
	idx2 := rand.Intn(len(name[1]))

	var builder strings.Builder
	builder.WriteString(name[0][idx1])
	builder.WriteString(name[1][idx2])
	return builder.String()
}