我目前正在开发第一人称射手。
我想知道是否有办法生成一个GUID,它总是为同一台机器返回相同的值,但在另一台机器上会有所不同。
我需要做这一代才能有效地禁止麻烦的用户。
我希望它适用于Microsoft Visual C ++和g ++。
答案 0 :(得分:1)
我会对MAC地址进行投票,因为每个MAC地址在制造时都是唯一的,但是你会遇到欺骗问题。我建议您将其基于多个值,例如卷序列号,CPU型号/步进,MAC地址和磁盘制造商,作为示例。这取决于你,但是尽量避免依赖于单个值,因为这可能总是会改变,但是如果你的任何识别因素发生变化,GUID会发生变化,所以你需要在机器之间选择某种持久值。像产品密钥或产品ID这样的东西可能是更好的选择,但我不确定是否可以轻松访问。
答案 1 :(得分:1)
您可以在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography
注册表项中读取MachineGuid密钥。
这可以在Windows上运行,但是你需要一种其他操作系统的替代方法。
答案 2 :(得分:0)
您可以使用MAC地址。
描述here的方法。
答案 3 :(得分:0)
HKEY_CLASSES_ROOT中还有TMID。仅限Windows。