我想要处理器序列号,这是唯一的id,没有其他处理器有这个id。我还有硬盘序列号。我正在使用c++。有人能帮我吗?
我需要独特的机器id,如CPU号码,主板号码使用c++。
Win32_BaseBoard,Win32_Processor Win32_DiskPartition
谢谢。
发布于 2012-08-09 04:33:40
根据维基百科的说法,从奔腾III开始,CPUID汇编程序操作码是受支持的,但是出于安全考虑,它不再被实现。有关详细信息,请参阅以下文章:Number
发布于 2012-08-09 05:13:52
最好的方法是从不同的源派生一个,而不是依赖于单个参数。
有关更多信息,请查看http://sowkot.blogspot.com/2008/08/generating-unique-keyfinger-print-for.html。
即使上述链接中描述的方法也不能保证始终保持相同的中间(用户可能会改变硬件)。
根据我的经验,在应用程序启动/启动时,生成MID并存储在应用程序特定区域(可能在注册表中),并将其用于所有其他与应用程序相关的任务,而不是每次生成。在这种情况下,正常的GUID生成就足够了。
发布于 2012-08-09 05:34:26
如果您需要一个唯一的ID,您不需要将它绑定到硬件上,只需生成一个新的随机ID (128位或更大)!将其存储在您喜欢的任何持久存储机制中,以便下次提取之前生成的ID。
如果使用处理器或磁盘序列号,则可能会更改它们,因为用户可以升级其硬件。你自己唯一的ID永远不会改变。唯一的缺点是,具有双引导的机器将有两个或多个ID --每个操作系统实例都有一个ID。
https://stackoverflow.com/questions/11876799
复制相似问题