【发布时间】:2011-04-08 08:48:10
【问题描述】:
我正在尝试生成对特定计算机唯一的 ID。 ID不会随机生成。它将是基于计算的,这样为计算机A生成的ID将是固定的,对计算机A来说是唯一的。程序每次在计算机A上执行时,都会继续生成相同的ID,在另一台计算机上执行时,它会生成该计算机唯一的另一个 ID。这是为了确保两台计算机没有相同的 ID。
我的挑战:为了让我的程序能够生成计算机独有的 ID,它需要根据执行它的计算机独有的种子来执行计算。
我的问题:我怎样才能获得计算机独有的值,以便我可以将该值用作 ID 生成程序中的种子?
是否可以从计算机的硬件(例如主板)中获得该计算机独有的值?这样,只要不更换计算机的主板,该值很可能不会改变。
【问题讨论】:
-
它不能以任何有意义的方式完成,也不能被一个有足够积极性的计算机所有者颠覆。如果您正在尝试找到一种方法,让设备能够将自己与其他设备区分开来,那么这是一个不同的问题,需要合作解决方案。
-
没有物理组件的虚拟机呢?如果两个虚拟机具有相同的配置数据,它们是否是同一台机器?
-
非常感谢你们的快速反应。是否可以获得计算机主处理器的 ID。我在互联网上的某个地方看到了类似的东西,但它是在 C# 中的。我想知道是否有可能在 Java 中实现相同的目标。
标签: java hardware uniqueidentifier hardware-id