Java でゲーム サーバーを作成しています。コンピューターの一意の識別子 (マルチアカウント保護) を取得する方法が必要です。ターゲット プラットフォームは Windows >= XP です。純粋な Java と JNI でそれを行う多くの方法をテストしました。
- MAC アドレス - 変更が非常に簡単で、衝突の可能性が高い
- (JNI) マザーボード SN - 常にではなく、衝突の可能性が高い
- (JNI) Diskdrive SN - WMI を使用してディスク文字でディスク ドライブを検出できない、衝突の可能性がほとんどない、Windows XP で動作しない (SerialNumber フィールドがない)
- 隠しフォルダ内のファイル - Windows の再インストール後に保存されません。場所がわかっていれば、変更または削除できます。
- (JNI) Windows GUID - 衝突の可能性が高く、Windows の再インストール後に保存されません。
別の方法はありますか?