代码之家  ›  专栏  ›  技术社区  ›  Rick2047

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

  •  2
  • Rick2047  · 技术社区  · 14 年前

    像其他人一样,我也做了很多研究,发现没有一个独特的ID生成过程是完美的。

    对于主板序列号(ID):它是唯一的;不能更改。然而,如果制造商没有把信息放在内存位置上,在某些机器上可能找不到它。然后我发现它没有唯一的Id。。英雄联盟

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

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

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

    有一种选择是将这些结合起来,但如果结合不是唯一的,如果上述条件适用呢?

    有没有其他方法可以找到机器的唯一ID?


    我想根据这个唯一的ID生成串行密钥,以保护软件盗版。 机器意味着目标电脑我必须安装软件。 @古格:谢谢你的提醒。

    3 回复  |  直到 12 年前
        1
  •  2
  •   Richard    14 年前

    机器的唯一ID?

    世上没有所谓的 机器的唯一ID”,如您所发现的。

    您需要定义您的需求,并使用满足这些需求的ID(可能是您自己分配的)。E、 g.对于一个web应用程序,一个带有GUID的cookie可能足以区分其他匿名用户(可以忽略使用多个浏览器或“私有”模式的少数用户)。

    对于系统管理来说,在系统级别分配一个GUID就足够了(无论如何,需要单独跟踪具有多引导的多个操作系统安装)。

    ...

        2
  •  2
  •   ChrisF    14 年前

    因为有些ID可能丢失,用户可以交换组件,所以您需要确定“机器”是什么意思。

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

    我不知道如果两个甚至三个都不见了你该怎么办,因为,正如你所说的,MAC地址等其他东西可能会被软件更改,硬盘ID可能不是唯一的,而且会更频繁地更改。

        3
  •  1
  •   Ozzie    7 年前

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

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