首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于软硬件的PC机唯一识别

基于软硬件的PC机唯一识别
EN

Stack Overflow用户
提问于 2010-09-03 13:20:33
回答 6查看 11.1K关注 0票数 11

对于生成每台PC许可证密钥的要求,我需要一些代码,它将返回任何PC上稳定和(接近)唯一的密钥。它不一定要保证独特,但接近。但是,它确实需要相当稳定,这样一个给定的PC总是会产生相同的结果,除非硬件发生了很大的变化。

这适用于使用wxWidgets的Windows应用程序,但使用Win32或其他选项也可以。

我在考虑MAC地址,但是笔记本电脑呢?笔记本电脑可以在节电模式下常规地禁用网卡。我偶然遇到了GetCurrentHwProfile,但它看起来不太像我想要的?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2010-09-03 13:32:42

我只想使用MAC地址方法;当无线/局域网卡被关闭时,它们仍然会出现在网络连接中。因此,你仍然应该能够得到MAC。

请考虑这一点:任何时候您都可以联系到您的you服务器或您正在编目这些ID的任何东西,用户将不得不有某种形式的网卡可用。

哦,您也许可以使用客户计算机的CPU序列号来支持它。

票数 2
EN

Stack Overflow用户

发布于 2010-09-03 13:23:08

我之前有一个想法,就是使用CryptProtectData作为识别机器的方法。在API的幕后,微软已经完成了你想要的。我从来没有测试过它,我很好奇它是否真的可行。

基本上,您将用CryptProtectDataCRYPTPROTECT_LOCAL_MACHINE编码一个常量魔术值,结果是您的机器ID。

票数 6
EN

Stack Overflow用户

发布于 2010-11-17 17:09:37

我认为到目前为止还没有发现真正简单和独特的方法。

  1. GetVolumeInformation甚至不会检索到唯一的ID.
  2. 使用任何硬件系列都是有问题的,因为制造商没有承诺始终支持它,特别是保持它在全球范围内的独特性。
  3. GetCurrentHwProfile检索GUID,但它的值受次要的影响!硬件改变..。
  4. 使用产品密钥..。会带你去处理偷来的软件--在全球有很多海盗装置。
  5. 创建自己的GUID并将其保存在注册表中(在任何地方)不会通过克隆图像来防止复制。 等等。在我看来,最好的方法是结合:卷ID +MAC的列表+ Machine + Machine。显然,在服务器端管理许可策略;0)

问候米克尔。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3636115

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档