package utils import ( "fmt" "github.com/google/uuid" "net" "strings" "sync" "time" ) var uuidint = 0 var lock sync.Mutex func CreateUUID() string { lock.Lock() defer lock.Unlock() // 生成基于字符串的 UUID key := fmt.Sprintln(Get192Ip(), time.Now().Format("2006-01-02_15-04-05"), uuidint) uuidint++ fmt.Println("key:", key) u1 := uuid.NewSHA1(uuid.Nil, []byte(key)) return u1.String() } func Get192Ip() string { interfaces, err := net.Interfaces() if err != nil { return "" } for _, iface := range interfaces { addrs, err := iface.Addrs() if err != nil { continue } for _, addr := range addrs { ip, _, _ := net.ParseCIDR(addr.String()) if ip != nil { ipStr := ip.String() if strings.HasPrefix(ipStr, "192") { return ipStr } } } } return "" }