什么应该是机器的唯一ID?它的主板ID? Windows产品ID?

时间:2010-08-26 10:04:11

标签: c# .net unique-key

我想检索一台机器的唯一ID。

与其他人一样,我也进行了大量研究,发现唯一ID生成过程并非完美无缺。

主板序列号(ID):独特;它无法改变。但是,如果制造商没有在内存位置上放置信息,则可能在某些机器中找不到它。然后我发现它没有给出唯一ID .. lol

类似于“处理器ID”,“BIOS ID”。

害怕使用PC的其他硬件信息。

可以通过软件更改MAC和Windows产品ID。

“Windows产品ID”是唯一的吗?

有一个选项可以将这些组合起来,但如果上述条件适用,组合不是唯一的吗?

找到机器的唯一ID的其他任何方式?


修改  我想根据软件盗版保护的唯一ID生成序列密钥。 机器意味着目标PC我要安装软件。 @Guge:谢谢你的提及。

3 个答案:

答案 0 :(得分:2)

  

机器的唯一ID?

正如您所找到的,没有“ 机器的唯一ID”这样的东西。

您需要定义您的要求,并使用符合这些要求的ID(可能由您自己分配)。例如。对于Web应用程序,具有GUID的cookie可能足以区分匿名用户(可以忽略使用多个浏览器或“私有”模式的少量用户)。

对于系统管理,在系统级别分配GUID应该足够了(无论如何都需要单独跟踪具有多重启动的多个OS安装)。

...

答案 1 :(得分:2)

由于其中一些ID可能丢失且用户可以更换组件,因此您需要决定“一台机器”的含义。

例如,我会查看主板ID,处理器ID和bios id,因为这些是最不可能改变的。然后我会寻找所有这三个,并允许一个自上次失踪和/或改变。如果满足这些条件,则允许软件运行。

如果两个甚至全部三个丢失我会怎么做我不知道,因为,正如你所说,其他东西,如MAC地址可以通过软件更改,硬盘ID可能不是唯一的,并且更频繁变化

答案 2 :(得分:1)

如果您在计算机所有者故意试图绕过您的独特检查的情况下尝试跟踪唯一的计算机,例如一个免费的电脑游戏,您只需要每个玩家一个帐户,我已经看到了上面提到的类似方法但是使用了一些加密。

收集或尝试收集几条相对稳定的PC信息(The MotherboardID / MAC Address / BIOS)将它们与salt前缀相结合,然后使用简单的免费算法对其进行加密。该密钥是您为该播放器存储的密钥以及与密码加密方式类似的UserID。该密钥将是“机器”的一个非常好的唯一标识符,您可以在每次登录时进行检查。

您可以使用多种计算机信息,具体取决于您希望与正常人更换组件的风险程度,但只要您不检查所检查的所有内容的空白就应该是非常安全。

相关问题