2012-03-05 74 views
2

我必須使用驗證密鑰來保護用Java編寫的應用程序,密鑰只能在指定的PC上運行,因此例如應該生成機器ID序列號由基於唯一標識符的應用程序(例如:硬盤序列,MainBoard序列等等);那麼基於這個唯一標識符,另一個程序將生成驗證密鑰。Java中的串行密鑰生成和驗證(機器唯一標識符)

我已經在.NET應用程序中實現了一個類似的激活系統,生成機器標識符,從WMI獲取硬件序列號,我如何在Java中獲得這個值?該解決方案應該在Windows,Linux和Mac OS X上獨立運行。

如何檢索Java中某臺機器的唯一標識符?有沒有圖書館,允許這樣做?

+0

可能重複:http://stackoverflow.com/questions/1986732/how-to-get-a-unique-computer-identifier-in-java-像磁盤-ID-或主板-ID – TPete 2012-03-05 10:48:00

回答

0

你需要調用一些特定的平臺。例如,在Windows上,您可以調用一個調用WMI的VB腳本來獲取此信息。

注意:如果您知道自己在做什麼,那麼您使用的任何方法應該很容易被愚弄。

1

我不認爲你可以在純Java中獲得CPU ID或硬盤/主板ID。 你最接近的是network mac address

NetworkInterface.getNetworkInterfaces().nextElement().getHardwareAddress();