diff --git a/zgo.go b/zgo.go index 3acdaaf430e39abce46c951500935b74c5a6c890..496e17103eb097e08e3d8478c5426537ce96e162 100644 --- a/zgo.go +++ b/zgo.go @@ -7,6 +7,7 @@ import ( _ "git.barsukov.pro/barsukov/zgo/zdb" _ "git.barsukov.pro/barsukov/zgo/zdebug" _ "git.barsukov.pro/barsukov/zgo/zgin" + _ "git.barsukov.pro/barsukov/zgo/zguid" _ "git.barsukov.pro/barsukov/zgo/zjson" _ "git.barsukov.pro/barsukov/zgo/zq" _ "git.barsukov.pro/barsukov/zgo/zquit" diff --git a/zguid/zguid.go b/zguid/zguid.go new file mode 100644 index 0000000000000000000000000000000000000000..ea99b0999478f94e4ab7ab419441b3afea84bb2f --- /dev/null +++ b/zguid/zguid.go @@ -0,0 +1,17 @@ +package zguid + +import ( + "crypto/md5" + "fmt" + "github.com/google/uuid" +) + +func New() string { + return uuid.NewString() +} + +func Hash(a any) string { + b := md5.Sum([]byte(fmt.Sprintf("%v", a))) + + return fmt.Sprintf("%x%x%x%x-%x%x-%x%x-%x%x-%x%x%x%x%x%x", b[0], b[1], b[2], b[3], b[4], b[5], b[6], b[7], b[8], b[9], b[10], b[11], b[12], b[13], b[14], b[15]) +}