如何获得稳定的机器ID **没有**管理员权限

时间:2011-11-11 01:54:36

标签: c# .net windows

出于简单的复制保护目的,我想生成一个小stringint值来(有些)唯一地标识当前计算机。理想情况下,在简单的硬件外围设备更改后,或者甚至希望在完全重新安装Windows之后,此值不会更改。

由于以下三个主要原因,此处和其他地方发现的大多数答案都不令人满意:

  1. 提供的代码不易移植到C#。
  2. 建议的硬件值通常不可用/空(例如处理器ID或硬盘序列号)或不稳定(例如MAC地址)。
  3. 所涉及的代码需要提升管理员权限。
  4. 我搜索了几篇帖子并找到了一篇有用的文章(How To Get Hardware Information),但由于#3是我案例中的一个重要考虑因素,我不确定我可以使用普通用户权限检索哪些硬件信息

    关于#2,我认为最好的解决方案是简单地将几个不同的值附加在一起,但是哪些值?非常感谢任何帮助,特别是如果它包含或指向C#代码。 :d

1 个答案:

答案 0 :(得分:2)

我认为您将很难满足此条件,因为唯一标识该计算机可能是仅供管理员使用的功能。如果现在情况并非如此,我认为随着时间的推移会出现隐私问题。