diff --git a/internal/utils/find/enter.go b/internal/utils/find/enter.go new file mode 100644 index 0000000..1d11dad --- /dev/null +++ b/internal/utils/find/enter.go @@ -0,0 +1,11 @@ +package find + +func InList[T comparable](list []T, key T) (ok bool) { + for _, t := range list { + if t == key { + return true + } + } + + return false +} diff --git a/internal/utils/md5/file_json.go b/internal/utils/md5/file_json.go new file mode 100644 index 0000000..bf60961 --- /dev/null +++ b/internal/utils/md5/file_json.go @@ -0,0 +1,18 @@ +package md5 + +import ( + "crypto/md5" + "encoding/hex" + "io" +) + +func Md5WithFile(file io.Reader) string { + m := md5.New() + _, err := io.Copy(m, file) + if err != nil { + return "" + } + + sum := m.Sum(nil) + return hex.EncodeToString(sum) +} diff --git a/internal/utils/random/string.go b/internal/utils/random/string.go new file mode 100644 index 0000000..5517216 --- /dev/null +++ b/internal/utils/random/string.go @@ -0,0 +1,14 @@ +package random + +import "math/rand" + +var letters = []rune("1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ") + +func RandStr(n int) string { + b := make([]rune, n) + for i := range b { + b[i] = letters[rand.Intn(len(letters))] + } + + return string(b) +}