我正在尋找一個對於每個獨立於平臺的計算機都是唯一的值。這是爲了將機器註冊到帳戶,以便您不能從未註冊的機器登錄。我不想使用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