当前位置: 首页>>代码示例>>Java>>正文


Java NetworkInterface.getHardwareAddress方法代码示例

本文整理汇总了Java中java.net.NetworkInterface.getHardwareAddress方法的典型用法代码示例。如果您正苦于以下问题:Java NetworkInterface.getHardwareAddress方法的具体用法?Java NetworkInterface.getHardwareAddress怎么用?Java NetworkInterface.getHardwareAddress使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在java.net.NetworkInterface的用法示例。


在下文中一共展示了NetworkInterface.getHardwareAddress方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: createMachineIdentifier

import java.net.NetworkInterface; //导入方法依赖的package包/类
private static int createMachineIdentifier () {
	// build a 2-byte machine piece based on NICs info
	int machinePiece;
	try {
		StringBuilder                   stringBuilder     = new StringBuilder();
		Enumeration< NetworkInterface > networkInterfaces = NetworkInterface.getNetworkInterfaces();
		while ( networkInterfaces.hasMoreElements() ) {
			NetworkInterface networkInterface = networkInterfaces.nextElement();
			stringBuilder.append( networkInterface.toString() );
			byte[] mac = networkInterface.getHardwareAddress();
			if ( mac != null ) {
				ByteBuffer byteBuffer = ByteBuffer.wrap( mac );
				try {
					stringBuilder.append( byteBuffer.getChar() );
					stringBuilder.append( byteBuffer.getChar() );
					stringBuilder.append( byteBuffer.getChar() );
				} catch ( BufferUnderflowException shortHardwareAddressException ) { //NOPMD
					// mac with less than 6 bytes. continue
				}
			}
		}
		machinePiece = stringBuilder.toString().hashCode();
	} catch ( Throwable t ) {
		// exception sometimes happens with IBM JVM, use random
		machinePiece = new SecureRandom().nextInt();
	}
	return machinePiece;
}
 
开发者ID:yujunhao8831,项目名称:spring-boot-start-current,代码行数:29,代码来源:GenerationCode.java

示例2: getMACAddress

import java.net.NetworkInterface; //导入方法依赖的package包/类
/**
 * Returns MAC address of the given interface name.
 *
 * @param interfaceName eth0, wlan0 or NULL=use first interface
 * @return mac address or empty string
 */
public static String getMACAddress(String interfaceName) {
    try {
        List<NetworkInterface> interfaces = Collections.list(NetworkInterface.getNetworkInterfaces());
        for (NetworkInterface intf : interfaces) {
            if (interfaceName != null) {
                if (!intf.getName().equalsIgnoreCase(interfaceName)) continue;
            }
            byte[] mac = intf.getHardwareAddress();
            if (mac == null) return "";
            StringBuilder buf = new StringBuilder();
            for (byte aMac : mac) buf.append(String.format("%02X:", aMac));
            if (buf.length() > 0) buf.deleteCharAt(buf.length() - 1);
            return buf.toString();
        }
    } catch (Exception ex) {
        ex.printStackTrace();
    }
    return "";
}
 
开发者ID:QuixomTech,项目名称:DeviceInfo,代码行数:26,代码来源:Methods.java

示例3: getMacAddressByNetworkInterface

import java.net.NetworkInterface; //导入方法依赖的package包/类
/**
 * 获取设备MAC地址
 * <p>需添加权限 {@code <uses-permission android:name="android.permission.INTERNET"/>}</p>
 *
 * @return MAC地址
 */
private static String getMacAddressByNetworkInterface() {
    try {
        List<NetworkInterface> nis = Collections.list(NetworkInterface.getNetworkInterfaces());
        for (NetworkInterface ni : nis) {
            if (!ni.getName().equalsIgnoreCase("wlan0")) continue;
            byte[] macBytes = ni.getHardwareAddress();
            if (macBytes != null && macBytes.length > 0) {
                StringBuilder res1 = new StringBuilder();
                for (byte b : macBytes) {
                    res1.append(String.format("%02x:", b));
                }
                return res1.deleteCharAt(res1.length() - 1).toString();
            }
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
    return "02:00:00:00:00:00";
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:26,代码来源:DeviceUtils.java

示例4: getMacAddress

import java.net.NetworkInterface; //导入方法依赖的package包/类
/**
 * 実行中サーバの最初のネットワークインタフェースの Macアドレスを基にした文字列を返す。
 * Macアドレスが取得できない場合、代替として現在日付の millisecondを 16進変換した文字列を返す。
 * @return Macアドレスの文字列表現。ただしバイト間にデリミタは含まない。
 */
public static String getMacAddress() {
    // 最初の NIC の MACアドレスを取得する。
    try {
        Enumeration<NetworkInterface> networkInterfaces = NetworkInterface
                .getNetworkInterfaces();
        while (networkInterfaces.hasMoreElements()) {
            NetworkInterface nic = networkInterfaces.nextElement();
            byte[] hardwareAddress = nic.getHardwareAddress();
            StringBuilder buffer = new StringBuilder();
            if (null != hardwareAddress) {
                for (byte b : hardwareAddress) {
                    buffer.append(String.format("%02X", b));
                }
                return buffer.toString();
            }
        }
        // nicが検出できないため、代替文字列を返す。
        return Long.toHexString(System.currentTimeMillis());
    } catch (SocketException e) {
        // エラーで取得できないため、代替文字列を返す。
        return Long.toHexString(System.currentTimeMillis());
    }
}
 
开发者ID:personium,项目名称:personium-core,代码行数:29,代码来源:UniqueNameComposer.java

示例5: testMachine

import java.net.NetworkInterface; //导入方法依赖的package包/类
@Override
public boolean testMachine() {
	try {
		final Enumeration<NetworkInterface> networkInterfaces = NetworkInterface.getNetworkInterfaces();
		while (networkInterfaces.hasMoreElements()) {
			final NetworkInterface networkInterface = networkInterfaces.nextElement();
			final byte[] discoveredMacAddress = networkInterface.getHardwareAddress();
			if (discoveredMacAddress != null) {
				for (final byte[] macAddress : this.macAddresses) {
					if (Arrays.equals(macAddress, discoveredMacAddress)) {
						return true;
					}
				}
			}
		}
		return false;
	} catch (final SocketException e) {
		throw new IllegalStateException(e);
	}

}
 
开发者ID:SoerenHenning,项目名称:RadarGun,代码行数:22,代码来源:MacAddressIdentifier.java

示例6: getMACAddress

import java.net.NetworkInterface; //导入方法依赖的package包/类
/**
 * Returns MAC address of the given interface name.
 *
 * @param interfaceName eth0, wlan0 or NULL=use first interface
 * @return mac address or empty string
 */
public static String getMACAddress(String interfaceName) {
    try {
        List<NetworkInterface> interfaces = Collections.list(NetworkInterface.getNetworkInterfaces());
        for (NetworkInterface intf : interfaces) {
            if (interfaceName != null) {
                if (!intf.getName().equalsIgnoreCase(interfaceName)) continue;
            }
            byte[] mac = intf.getHardwareAddress();
            if (mac == null) return "";
            StringBuilder buf = new StringBuilder();
            for (int idx = 0; idx < mac.length; idx++)
                buf.append(String.format("%02X:", mac[idx]));
            if (buf.length() > 0) buf.deleteCharAt(buf.length() - 1);
            return buf.toString();
        }
    } catch (Exception ex) {
    } // for now eat exceptions
    return "";
    /*try {
        // this is so Linux hack
        return loadFileAsString("/sys/class/net/" +interfaceName + "/address").toUpperCase().trim();
    } catch (IOException ex) {
        return null;
    }*/
}
 
开发者ID:dmitrykolesnikovich,项目名称:featurea,代码行数:32,代码来源:Utils.java

示例7: writeToEntropyPool

import java.net.NetworkInterface; //导入方法依赖的package包/类
protected void writeToEntropyPool(DataOutputStream out) throws IOException {
	out.writeLong(System.currentTimeMillis());
	out.writeLong(System.nanoTime());
	out.writeLong(Runtime.getRuntime().freeMemory());
	List<NetworkInterface> ifaces =
			Collections.list(NetworkInterface.getNetworkInterfaces());
	for (NetworkInterface i : ifaces) {
		List<InetAddress> addrs = Collections.list(i.getInetAddresses());
		for (InetAddress a : addrs) out.write(a.getAddress());
		byte[] hardware = i.getHardwareAddress();
		if (hardware != null) out.write(hardware);
	}
	for (Entry<String, String> e : System.getenv().entrySet()) {
		out.writeUTF(e.getKey());
		out.writeUTF(e.getValue());
	}
	Properties properties = System.getProperties();
	for (String key : properties.stringPropertyNames())
		out.writeUTF(properties.getProperty(key));
}
 
开发者ID:rafjordao,项目名称:Nird2,代码行数:21,代码来源:AbstractSecureRandomProvider.java

示例8: getNetworkInterfaceNo

import java.net.NetworkInterface; //导入方法依赖的package包/类
public String getNetworkInterfaceNo()
{
    String code = "";
    try {
        Enumeration<NetworkInterface> is = NetworkInterface.getNetworkInterfaces();
        while (is.hasMoreElements()) {
            NetworkInterface i = is.nextElement();
            byte[] addr = i.getHardwareAddress();
            if (addr != null) {
                for (byte b : addr) {
                    code = code + (0xff & b);
                }
            }
        }
    } catch (SocketException ex) {
        Logger.getLogger(Registration.class.getName()).log(Level.SEVERE, null, ex);
    }
    return code;
}
 
开发者ID:8085simulator,项目名称:8085simulator,代码行数:20,代码来源:Registration.java

示例9: concatMacAddresses

import java.net.NetworkInterface; //导入方法依赖的package包/类
private byte[] concatMacAddresses() throws IOException {
    ByteArrayOutputStream bos = new ByteArrayOutputStream();
    Enumeration<NetworkInterface> nis = NetworkInterface.getNetworkInterfaces();
    while (nis.hasMoreElements()) {
        NetworkInterface ni = nis.nextElement();
        if (ni.getHardwareAddress() != null) {
            bos.write(ni.getHardwareAddress());
        }
    }
    return bos.toByteArray();
}
 
开发者ID:patrickfav,项目名称:dice,代码行数:12,代码来源:PersonalizationSource.java

示例10: createMachineIdentifier

import java.net.NetworkInterface; //导入方法依赖的package包/类
/**
 * Creates the machine identifier from the physical MAC address.
 * 
 * @return long the machine identifier
 */
private static long createMachineIdentifier() {
    byte[] mac = null;
    try {
        Enumeration<NetworkInterface> e = NetworkInterface.getNetworkInterfaces();
        while (e.hasMoreElements()) {
            NetworkInterface ni = e.nextElement();
            if (!ni.isLoopback()) {
                mac = ni.getHardwareAddress();
            }
            // ?? mac[1] != (byte) 0xff it is from http://johannburkard.de/software/uuid/
            if (mac != null && mac.length == 6 && mac[1] != (byte) 0xff) {
                break;
            } else {
                continue;
            }
        }
    } catch (Throwable t) {
        throw new RuntimeException("Could not get MAC address", t);
    }
    if (mac != null && mac.length == 6 && mac[1] != (byte) 0xff) {
        return bytes2long(mac);
    } else {
        if (null == mac) {
            throw new RuntimeException("Could not get MAC address!");
        } else {
            throw new RuntimeException("MAC address is not correct:" + toHexString(mac));
        }
    }

}
 
开发者ID:fintx,项目名称:fintx-common,代码行数:36,代码来源:UniqueId.java

示例11: getMacAddress

import java.net.NetworkInterface; //导入方法依赖的package包/类
@NonNull
private String getMacAddress(@NonNull String interfaceName) {
    try {
        List<NetworkInterface> interfaces = Collections.list(NetworkInterface.getNetworkInterfaces());
        for (NetworkInterface networkInterface : interfaces) {
            if (!networkInterface.getName().equalsIgnoreCase(interfaceName)) {
                continue;
            }
            byte[] mac = networkInterface.getHardwareAddress();
            if (mac == null) {
                return "";
            }
            StringBuilder stringBuilder = new StringBuilder();
            for (byte b : mac) {
                stringBuilder.append(String.format("%02X:", b));
            }
            if (stringBuilder.length() > 0) {
                stringBuilder.deleteCharAt(stringBuilder.length() - 1);
            }
            return stringBuilder.toString();
        }
    } catch (Exception e) {
        e.printStackTrace();
        return "";
    }
    return "";
}
 
开发者ID:bartwell,项目名称:ultra-debugger,代码行数:28,代码来源:DeviceInfoHelper.java

示例12: getMacAddress

import java.net.NetworkInterface; //导入方法依赖的package包/类
public String getMacAddress() {
    if(mWifiInfo == null) return "01:02:03:04:05:06";
    String mac = mWifiInfo.getMacAddress();
    if("02:00:00:00:00:00".equals(mac)){    //说明是android 6.0
        //android 6.0 获取mac的代码,有异常就继续返回02:00:00:00:00:00
        try {
            List<NetworkInterface> all = Collections.list(NetworkInterface.getNetworkInterfaces());
            for (NetworkInterface nif : all) {
                if (!nif.getName().equalsIgnoreCase("wlan0")) continue;
                byte[] macBytes = nif.getHardwareAddress();
                if (macBytes == null) {
                    return "";
                }
                StringBuilder res1 = new StringBuilder();
                for (byte b : macBytes) {
                    res1.append(String.format("%02X:",b));
                }
                if (res1.length() > 0) {
                    res1.deleteCharAt(res1.length() - 1);
                }
                return res1.toString();
            }
        } catch (Exception ex) {
        }
    }
    return mac;
}
 
开发者ID:WeGdufe,项目名称:MovingGdufe-Android,代码行数:28,代码来源:WifiUtils.java

示例13: getHWSeq

import java.net.NetworkInterface; //导入方法依赖的package包/类
static private long getHWSeq()
{
    if (hwseq != 0)
        return hwseq;

    for (int ii = 0; ii < 50; ii++)
    {
        try
        {
            NetworkInterface ni = NetworkInterface.getByIndex(ii);
            if (ni != null) // real interface
            {
                byte[] hwaddr = ni.getHardwareAddress();
                if (hwaddr == null) continue;

                String dname  = ni.getDisplayName();
                if (dname.startsWith("Microsoft"))  continue;
                if (dname.startsWith("VMware"))     continue;
                if (dname.startsWith("VirtualBox")) continue;
                if (dname.contains("Tunneling"))    continue;

                // HW will be somewhat unique, we use the above to skip things that generally are not
                hwseq = (VARIANT1 & VARIANT_MASK)| (new Random().nextLong() & CLKSEQ_MASK) | (new BigInteger(1, hwaddr).longValue() & NODE_MASK);
                break;
            }
        }
        catch (SocketException se) {}
    }

    return hwseq;
}
 
开发者ID:drytoastman,项目名称:scorekeeperfrontend,代码行数:32,代码来源:IdGenerator.java

示例14: createMacAddrString

import java.net.NetworkInterface; //导入方法依赖的package包/类
private static String createMacAddrString(NetworkInterface netIf)
        throws SocketException {
    byte[] macAddr = netIf.getHardwareAddress();
    StringBuilder sb = new StringBuilder();
    if (macAddr != null) {
        for (int i = 0; i < macAddr.length; i++) {
            sb.append(String.format("%02X%s", macAddr[i],
                    (i < macAddr.length - 1) ? "-" : ""));
        }
    }
    return sb.toString();
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:13,代码来源:SetGetNetworkInterfaceTest.java

示例15: getMacOsIdentifier

import java.net.NetworkInterface; //导入方法依赖的package包/类
private static String getMacOsIdentifier() throws SocketException, NoSuchAlgorithmException {
    NetworkInterface networkInterface = NetworkInterface.getByName("en0");
    byte[] hardwareAddress = networkInterface.getHardwareAddress();
    return Utils.hexStringify(Utils.sha256Hash(hardwareAddress));
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:6,代码来源:ComputerIdentifierGenerator.java


注:本文中的java.net.NetworkInterface.getHardwareAddress方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。