首页 > 解决方案 > 我可以根据 Java 中的系统规范生成 UID 吗?

问题描述

我正在开发一个用 java 构建的 MMORPG 游戏,最终用户在他们的系统上运行一个连接到我们的游戏(服务器)的 java 可执行文件(客户端)。

有时你会遇到一些不太好的玩家,需要封禁,但有些人非常顽固,需要IP封禁,然后是第三种计算机知识高于平均水平并且知道如何改变的人(或使用 vpn/代理屏蔽)他们的 IP。

为了对付最后一类人,我们曾经在他们的 AppData 文件夹中的某处生成一个 UID 文件,并在客户端启动时生成一个唯一密钥(如果没有找到文件,它将为他们生成一个,但这里的缺陷是,如果有人找到这个文件,他们可以轻松地删除它,然后在下一次开始时,它会为他们重新创建一个新的和不同的文件)

不久前,我在某处读到微软根据几个系统规范生成一个“指纹”,这对每个系统来说都是独一无二的,但是在重新生成时会产生相同的密钥,这就是为什么你可以重新安装 Windows 10 而无需使用任何序列号。这样的系统在纯 java 中是否可行?

总而言之,我们需要为每台正在运行它的机器提供一个唯一的密钥(或者至少生成重复密钥的可能性非常小),但是如果再次运行生成代码,它需要生成相同的密钥

标签: javauidfingerprinting

解决方案


推荐阅读