在做一个系统,用户只能在绑定的MAC地址的机器上登录系统使用系统

解决方案 »

  1.   

    import java.io.BufferedReader;
    import java.io.InputStreamReader;
    import java.io.IOException;/**
     * <p>Title: </p>
     *
     * <p>Description: </p>
     *
     * <p>Copyright: Copyright (c) 2006</p>
     *
     * <p>Company: </p>
     *
     * @author not attributable
     * @version 1.0
     */
    public class macfind{
        public macfind() {
        }    public static String getMACAddress() {        String address = "";
            String os = System.getProperty("os.name");
            if (os != null && os.startsWith("Windows")) {
                try {
                    String command = "cmd.exe /c ipconfig /all";
                    Process p = Runtime.getRuntime().exec(command);
                    BufferedReader br =
                            new BufferedReader(
                                    new InputStreamReader(p.getInputStream()));
                    String line;
                    while ((line = br.readLine()) != null) {
                        if (line.indexOf("Physical Address") > 0) {
                            int index = line.indexOf(":");
                            index += 2;
                            address = line.substring(index);
                            break;
                        }
                    }
                    br.close();
                    return address.trim();
                } catch (IOException e) {}
            }
            return address;
        } public static void main(String[] args) {
        System.out.println(""+macfind.getMACAddress());
    }
    }
    供参考
      

  2.   

    Java的api中没有可以直接获得物理地址的功能,目前只能通过dos命令行来获取地址
      

  3.   

    那用这个方式的话,也只能是得到本机的MAC,并不是远程机的请求机器的MAC