这是参考this SO答案。 它声明下面的代码可用于唯一标识机器:
import java.util.Scanner;
public class GetBiosSerialNumber {
public static void main(String[] args) throws Throwable {
// wmic command for diskdrive id: wmic DISKDRIVE GET SerialNumber
// wmic command for cpu id : wmic cpu get ProcessorId
Process process = Runtime.getRuntime().exec(new String[] { "wmic", "bios", "get", "serialnumber" });
process.getOutputStream().close();
Scanner sc = new Scanner(process.getInputStream());
String property = sc.next();
String serial = sc.next();
System.out.println(property + ": " + serial);
}
}
但这只适用于Windows。如何使其适用于OSX?如果不可能找到相同的MAC工作方式,那么获得唯一的机器ID是另一种方式吗?(对于硬件锁定应用程序)。 不幸的是我没有MAC PC来测试这个(我正在为客户端制作它),所以请让我知道一种适用于所有OSX设备的方法。
我不想使用MAC地址作为回答上述答案的问题,这表明MAC地址存在一些限制。
这篇文章与this other post不重复。我对这个问题的第一行仅仅提到了对这个问题的回答。