2012-03-05 12 views
2

私は検証で保護する必要があります。鍵はJavaで書かれた鍵です。鍵は特定のPC上でしか動作しません。たとえば、マシンIDのシリアル番号を生成する必要があります。固有の識別子(例えば、ハードディスクのシリアル、メインボードのシリアルなど)に基づいてアプリケーションによって実行されます。この一意の識別子に基づいて、別のプログラムが検証鍵を生成する。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- like-disk-id-or-motherboard-id – TPete

答えて

2

マシンのMACアドレス(またはマシンのMACアドレスのいずれか)が良い候補です。これはユニークで、他のハードウェア識別子よりも頻繁に変更されることは少ないでしょう。ここでは、コードスニペットがあります:

0

プラットフォーム固有のものを呼び出す必要があります。たとえばWindowsでは、WMIを呼び出してこの情報を取得するVBスクリプトを呼び出すことができます。

注:あなたがやっていることを知っているならば、あなたはこれまでどんなアプローチをしていてもばかげてしまうはずです。

1

純粋なJavaでCPU IDまたはハードディスク/マザーボードIDを取得できないと思います。あなたが持っている 最も近いnetwork mac addressです:

NetworkInterface.getNetworkInterfaces().nextElement().getHardwareAddress(); 
関連する問題