2

Java で記述されたアプリケーションを検証キーで保護する必要があります。キーは指定された PC でのみ機能する必要があるため、たとえば、マシン ID のシリアル番号は、一意の識別子 (例: ハードディスクのシリアル番号) に基づいてアプリケーションによって生成される必要があります。 、メインボードのシリアルなど... ); 次に、この一意の識別子に基づいて、別のプログラムが検証キーを生成します。

マシン識別子を生成し、WMI からハードウェア シリアル番号を取得する .NET アプリケーションに同様のアクティベーション システムを既に実装しています。Java でこの値を取得するにはどうすればよいですか? このソリューションは、Windows、Linux、および Mac Os X で独立して動作するはずです。

Java でマシンの一意の識別子を取得するにはどうすればよいですか? それを可能にするライブラリはありますか?

4

3 に答える 3

3

マシンのMACアドレス(またはマシンのMACアドレスの1つ)が適切な候補です。これは一意であり、おそらく他のハードウェア識別子よりも頻繁に変更されることはありません。コードスニペットは次のとおりです。

于 2012-03-05T10:49:50.940 に答える
1

純粋なJavaでCPU IDまたはハードディスク/マザーボードIDを取得できるとは思いません。あなたが持っている最も近いのはネットワークMACアドレスです:

NetworkInterface.getNetworkInterfaces().nextElement().getHardwareAddress();
于 2012-03-05T10:48:38.850 に答える
0

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

注: 自分が何をしているのかを知っていれば、どのアプローチを使用しても簡単にだまされるはずです。

于 2012-03-05T10:48:07.857 に答える