import java.net.NetworkInterface;
import java.net.SocketException;
import java.util.Enumeration;
import org.apache.commons.codec.digest.DigestUtils;
import com.yd.common.utils.StringUtils;
/**
*
* @author MrWang
* 获取客户端MAC地址
*
*
*/
public class MacAddress {
private static String mac_s = "";
static {
if (mac_s == "") {
Enumeration<NetworkInterface> el;
try {
el = NetworkInterface.getNetworkInterfaces();
while (el.hasMoreElements()) {
NetworkInterface networkInterface = el.nextElement();
byte[] mac = networkInterface.getHardwareAddress();
if (mac == null||mac.length==0)
continue;
if (mac.length==6) {
mac_s = hexByte(mac[0]) + "-" + hexByte(mac[1]) + "-"
+ hexByte(mac[2]) + "-" + hexByte(mac[3]) + "-"
+ hexByte(mac[4]) + "-" + hexByte(mac[5]);
System.out.println(mac_s);
//mac_s = DigestUtils.md5Hex(mac_s).toUpperCase().substring(0, 8);
//System.out.println(mac_s);
break;
}
}
} catch (SocketException e1) {
e1.printStackTrace();
}
}
}
public static String hexByte(byte b) {
String s = "00" + Integer.toHexString(b);
return s.substring(s.length() - 2);
}
public static String getMAC() {
return mac_s;
}
public static void main(String[] args) {
MacAddress m = new MacAddress();
m.getMAC();
}
}