java - 我可以根据 Java 中的系统规范生成 UID 吗?
问题描述
我正在开发一个用 java 构建的 MMORPG 游戏,最终用户在他们的系统上运行一个连接到我们的游戏(服务器)的 java 可执行文件(客户端)。
有时你会遇到一些不太好的玩家,需要封禁,但有些人非常顽固,需要IP封禁,然后是第三种计算机知识高于平均水平并且知道如何改变的人(或使用 vpn/代理屏蔽)他们的 IP。
为了对付最后一类人,我们曾经在他们的 AppData 文件夹中的某处生成一个 UID 文件,并在客户端启动时生成一个唯一密钥(如果没有找到文件,它将为他们生成一个,但这里的缺陷是,如果有人找到这个文件,他们可以轻松地删除它,然后在下一次开始时,它会为他们重新创建一个新的和不同的文件)
不久前,我在某处读到微软根据几个系统规范生成一个“指纹”,这对每个系统来说都是独一无二的,但是在重新生成时会产生相同的密钥,这就是为什么你可以重新安装 Windows 10 而无需使用任何序列号。这样的系统在纯 java 中是否可行?
总而言之,我们需要为每台正在运行它的机器提供一个唯一的密钥(或者至少生成重复密钥的可能性非常小),但是如果再次运行生成代码,它需要生成相同的密钥
解决方案
推荐阅读
- apple-push-notifications - 设置可变内容的副作用
- macos - 如何将文件复制到包含名称的目录中的子文件夹
- google-sheets - 当我在谷歌表格中添加条件时,有没有办法自动搜索条件?
- java - TabLayout 最终位于 SearchBar (EditText) 上方,我希望它位于 SearchBar 下方
- python - 使用 spotipy 在 Spotify 上播放歌曲的次数
- python - 用熊猫重复用另一列的一部分填充一列的值
- android - 带有 recyclerview 的 Kotlin 抽屉导航
- php - 如何在 PHP 中修复这个数组?
- node.js - LogDNA 和云代工 nodejs 应用程序
- express - 我应该使用哪个命令来缩小和优化 nodejs express 应用程序?