PC的唯一标识符

时间:2016-03-03 13:38:44

标签: java hardware mac-address

我正在搜索设备的唯一标识符,即PC。我已经查看了Stack Overflow和其他网站上的许多链接,发现生成UUID而不是mac id。但我也发现UUID可能与某些主板无关,有时可能无效。

我已将MAC ID实现为唯一标识符,但现在我认为这可能无法正常工作,因为用户的笔记本电脑有时可能会连接到LAN,wifi或加密狗。而且每次我都需要知道机器的唯一标识符。当我使用Virtual Box连接用户时我需要唯一标识符时,我也很担心。

1 个答案:

答案 0 :(得分:1)

如果使用其中一个,接口不会被删除。只需循环NetworkInterface.getNetworkInterfaces()并检查是否有一个您注册的MAC。

问题可能在于您使用未集成到计算机中的接口。说一个可以删除的加密狗。也许保存所有MAC地址并检查它们是否存在。虽然那时你可以将加密狗移动到另一台计算机并仍然得到肯定。

如果你想通过windows uuid真正识别,你可以使用cmd命令:

wmic csproduct get UUID

在java中使用Runtime.exec(“wmic csproduct get UUID”);然后使用Process的输出流读取输出并存储它。我还没有测试过,但它应该可以工作。