在Go中生成MAC地址
我正在寻找一个关于如何在Go中生成MAC地址的示例。 我发现了许多创建uuid的例子,但没有找到MAC地址的例子 有人能帮忙吗 谢谢, Ben以下是我将如何做()在Go中生成MAC地址,go,Go,我正在寻找一个关于如何在Go中生成MAC地址的示例。 我发现了许多创建uuid的例子,但没有找到MAC地址的例子 有人能帮忙吗 谢谢, Ben以下是我将如何做() 请注意本地位的设置,这意味着它不会与任何全局管理的地址冲突()buf[0]=(buf[0]| 2)&0xfe//设置本地位,确保单播地址在大多数情况下,您希望将最低位设置为零,以确保您具有单播地址,而不是多播地址。rand.Seed(time.Now().Unix())如果希望基于timestamp@IvanAracki你在想数学/r
请注意本地位的设置,这意味着它不会与任何全局管理的地址冲突()
buf[0]=(buf[0]| 2)&0xfe//设置本地位,确保单播地址在大多数情况下,您希望将最低位设置为零,以确保您具有单播地址,而不是多播地址。rand.Seed(time.Now().Unix())
如果希望基于timestamp@IvanAracki你在想数学/rand
。无论如何,没有办法为加密/rand添加种子。
import (
"crypto/rand"
"fmt"
)
func main() {
buf := make([]byte, 6)
_, err := rand.Read(buf)
if err != nil {
fmt.Println("error:", err)
return
}
// Set the local bit
buf[0] |= 2
fmt.Printf("Random MAC address: %02x:%02x:%02x:%02x:%02x:%02x\n", buf[0], buf[1], buf[2], buf[3], buf[4], buf[5])
}