我正在用Java编写一个游戏服务器,我需要一种获取计算机唯一标识符的方法(Multiaccount保护),目标平台是Windows> = XP。我测试了很多方法用纯Java和JNI来做到这一点:如何获取计算机的唯一标识符?
- MAC地址 - 很容易改变,高碰撞几率
- (JNI)主板SN - 它并不总是,高碰撞几率
- (JNI)Diskdrive SN - 无法通过带WMI的磁盘盘符检测磁盘驱动器,冲突几率小,无法在Windows XP上运行(没有SerialNumber字段)
- 隐藏文件夹中的文件 - Windows后不保存重新安装,可以修改或删除,如果我知道它在哪里。
- (JNI)Windows GUID - 高冲突几率,在Windows重新安装后不保存。
任何其他方式?
独特如果你用Java编写,为什么那里的标签C++&c ?! –
我正在使用JNI :) – sashok724
@IosifM。他可以用c/C++编写本机代码。 – tbodt