Shell
·
發表于 4年以前
·
閱讀量:2598
基于時間的UUID通過計算當前時間戳、隨機數和機器MAC地址得到。由于在算法中使用了MAC地址,這個版本的UUID可以保證在全球范圍的唯一性。但與此同時,使用MAC地址會帶來安全性問題,這就是這個版本UUID受到批評的地方。如果應用只是在局域網中使用,也可以使用退化的算法,以IP地址來代替MAC地址--Java的UUID往往是這樣實現的(當然也考慮了獲取MAC的難度)。
import (
"fmt"
uuid "github.com/satori/go.uuid"
)
func generateUUIDV1() string {
u1 := uuid.NewV1()
return fmt.Sprintf("%s", u1)
}
根據隨機數,或者偽隨機數生成UUID。這種UUID產生重復的概率是可以計算出來的,但隨機的東西就像是買彩票:你指望它發財是不可能的,但狗屎運通常會在不經意中到來。
import (
"fmt"
uuid "github.com/satori/go.uuid"
)
func generateUUIDV4() string {
u4 := uuid.NewV4()
return fmt.Sprintf("%s", u4)
}