From ba8c1f107821441acbf57fa5a80a6846b547c85c Mon Sep 17 00:00:00 2001 From: unclesam <2036253946@qq.com> Date: Wed, 8 Jul 2026 15:28:51 +0800 Subject: [PATCH] =?UTF-8?q?feat(utils):=20=E6=96=B0=E5=A2=9E=E6=9F=A5?= =?UTF-8?q?=E6=89=BE=E3=80=81MD5=E5=8F=8A=E9=9A=8F=E6=9C=BA=E5=AD=97?= =?UTF-8?q?=E7=AC=A6=E4=B8=B2=E5=B7=A5=E5=85=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/utils/find/enter.go | 11 +++++++++++ internal/utils/md5/file_json.go | 18 ++++++++++++++++++ internal/utils/random/string.go | 14 ++++++++++++++ 3 files changed, 43 insertions(+) create mode 100644 internal/utils/find/enter.go create mode 100644 internal/utils/md5/file_json.go create mode 100644 internal/utils/random/string.go 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) +}