Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Go中生成MAC地址_Go - Fatal编程技术网

在Go中生成MAC地址

在Go中生成MAC地址,go,Go,我正在寻找一个关于如何在Go中生成MAC地址的示例。 我发现了许多创建uuid的例子,但没有找到MAC地址的例子 有人能帮忙吗 谢谢, Ben以下是我将如何做() 请注意本地位的设置,这意味着它不会与任何全局管理的地址冲突()buf[0]=(buf[0]| 2)&0xfe//设置本地位,确保单播地址在大多数情况下,您希望将最低位设置为零,以确保您具有单播地址,而不是多播地址。rand.Seed(time.Now().Unix())如果希望基于timestamp@IvanAracki你在想数学/r

我正在寻找一个关于如何在Go中生成MAC地址的示例。 我发现了许多创建uuid的例子,但没有找到MAC地址的例子

有人能帮忙吗

谢谢, Ben

以下是我将如何做()


请注意本地位的设置,这意味着它不会与任何全局管理的地址冲突()

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])
}