This commit is contained in:
V2Ray committed 2015-09-05 17:48:38 +02:00
commit 4c03bf0d45
10 files changed
+338

No files matched your search

+38
View File
@@ -0,0 +1,38 @@
package core
import (
"encoding/hex"
"fmt"
)
type VID [16]byte
var byteGroups = []int{8, 4, 4, 4, 12}
// TODO: leverage a full functional UUID library
func UUIDToVID(uuid string) (v VID, err error) {
text := []byte(uuid)
if len(text) < 32 {
err = fmt.Errorf("uuid: invalid UUID string: %s", text)
return
}
b := v[:]
for _, byteGroup := range byteGroups {
if text[0] == '-' {
text = text[1:]
}
_, err = hex.Decode(b[:byteGroup/2], text[:byteGroup])
if err != nil {
return
}
text = text[byteGroup:]
b = b[byteGroup/2:]
}
return
}