我正在用 Java 编写游戏服务器,我需要一种方法来获取计算机的唯一标识符(多帐户保护),目标平台是 Windows >= XP。我用纯 Java 和 JNI 测试了很多方法:
- MAC 地址 - 非常容易更改,高冲突几率
- (JNI) 主板 SN - 并非总是如此,高碰撞几率
- (JNI) 磁盘驱动器 SN - 无法使用 WMI 通过磁盘号检测磁盘驱动器,碰撞几率很小,在 Windows XP 上不起作用(没有序列号字段)
- 隐藏文件夹中的文件 - Windows 重新安装后不保存,如果我知道它可以修改或删除它。
- (JNI) Windows GUID - 高碰撞几率,Windows 重新安装后不保存。
还有什么办法吗?