我正在寻找一个对于每个独立于平台的计算机都是唯一的值。这是为了将机器注册到帐户,以便您不能从未注册的机器登录。我不想使用MAC地址,因为这可以很容易地改变。我想知道可能会从几个硬件组件获取ID并将它们组合起来以获得机器的唯一ID。但是,我不确定如何使用Java从所述组件获取ID。我做了一些研究,发现了一种检索CPU序列号的方法,但这只适用于windows,因为它只是运行一个临时的可视化基本命令/脚本/不管。任何信息表示赞赏,谢谢。独立于平台的唯一计算机ID java
9
A
回答
0
对于能够伪造MAC地址,您是正确的。有没有机器的你不能欺骗这种或那种方式,这就是为什么机器具体识别通常是一个坏主意。对Java而言,这是一个更糟糕的想法,因为Java的全部内容都是从硬件中抽象出来的。这实际上只能让你使用JVM和网络堆栈来获取详细信息。
所以我只能看到两个选项。
首先,您可以尝试生成主机名,当前类路径,系统属性和JVM值的某种组合的哈希。沿着这条线你可能会看到你从System.getenv()或System.getProperties()获得什么值
第二种方法是使用本地运行时API返回系统特定的值,但你需要具有特定的值命令为您的客户端试图支持的每种操作系统类型运行。示例:
Runtime.getRuntime()。exec(“some_command_line_prog_that_returns_sys_info”);
相关问题
- 1. 独立于平台的时间计算
- 2. 独立于Java的usb输入平台
- 3. 基于Java的唯一计算机ID硬件
- 4. Java:基于非MAC的唯一计算机ID
- 5. Java平台独立性
- 6. 独立于平台的OSGi控制台
- 7. 独立于平台的付费安装
- 8. 独特的计算机ID
- 9. 在独立于平台的设计中传递特定于平台的数据?
- 10. 是Javac是独立于平台
- 11. 从PHP获取计算机唯一ID
- 12. Java 7平台独立的Base64?
- 13. 了解Java平台的独立性
- 14. 平台独立流
- 15. 独立于平台的屏保与Qt
- 16. 独立于平台的资源管理
- 17. #ifdef用CMake独立于平台的DEBUG
- 18. Python中的SFTP? (独立于平台)
- 19. 独立于平台的/ dev/C++中
- 20. 基于CPU标记的唯一计算机ID
- 21. .NET是独立于平台/架构的“双重”算法吗?
- 22. 验证Java平台独立性
- 23. 平台独立文件存储Java
- 24. Java - howto平台独立输出
- 25. 平台独立的c + + DLL
- 26. 独立于平台的图像java中的图像
- 27. 为什么Java平台在理论和平台上独立于实践?
- 28. 一台计算机
- 29. Java:将Eclipse项目从一台计算机转移到另一台计算机?
- 30. PHP独特的计算机ID
对于用户空间应用程序,一切都很容易被欺骗。大多数商品硬件甚至没有将闪存插入某种只读存储器的唯一ID。 – 2014-02-06 16:46:52
请参阅这里的讨论http://stackoverflow.com/questions/2004666/get-unique-machine-id – Leo
谢谢你的回应,我仍然不确定我可以如何去做这件事。 – user1009569