sách gpt4 ăn đã đi

java - 使随机 mac 地址生成器仅生成单播 mac

In lại 作者:搜寻专家 更新时间:2023-11-01 01:42:59 35 4
mua khóa gpt4 giày nike

这是我的简单 mac 地址生成器:

private String randomMACAddress(){
Random rand = new Random();
byte[] macAddr = new byte[6];
rand.nextBytes(macAddr);

StringBuilder sb = new StringBuilder(18);
for(byte b : macAddr){
if(sb.length() > 0){
sb.append(":");
}else{ //first byte, we need to set some options
b = (byte)(b | (byte)(0x01 << 6)); //locally adminstrated
b = (byte)(b | (byte)(0x00 << 7)); //unicast

}
sb.append(String.format("%02x", b));
}


trả về sb.toString();
}

请注意我是如何设置和取消设置位的,以便生成单播 mac。但是它不起作用,我接受 mac 地址的自动程序返回错误,因为“这个 mac 地址是多播的”。

我做错了什么?

câu trả lời hay nhất

解决了...我刚刚做了

private String randomMACAddress(){
Random rand = new Random();
byte[] macAddr = new byte[6];
rand.nextBytes(macAddr);

macAddr[0] = (byte)(macAddr[0] & (byte)254); //zeroing last 2 bytes to make it unicast and locally adminstrated

StringBuilder sb = new StringBuilder(18);
for(byte b : macAddr){

if(sb.length() > 0)
sb.append(":");

sb.append(String.format("%02x", b));
}


trả về sb.toString();
}

关于java - 使随机 mac 地址生成器仅生成单播 mac,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24261027/

35 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress