怎么样才能获取唯一的CPU序列号

怎么才能获取唯一的CPU序列号,看到网上有说 Intel Pentium III 以后CPU唯一的序列号都获取不了?
经过验证,用 wmic CPU get ProcessorID 命令得到的CPU序列号不是唯一的,想问问有什么方法可以得到CPU唯一的序列号?

(1)只有 Pentium III 处理器有序列号(Serial Number),因为处理器的序列号使得互联网企业可以跟踪到用户的身份,所以遭到了政府和市场的抵制,Intel 被迫允许在 BIOS 中禁止读取序列号,并且从 Pentium 4 开始,再也没有提供序列号的功能。
(2) CPU ID 不是序列号,相同批次步进的数万块甚至更多的 CPU,其 CPUID 是完全相同的。
如果你不相信,可以去淘宝买几枚二手廉价的同型号的处理器,自己做试验。

网上流传大量的将CPU ID视作处理器序列号的文章,互相抄袭,请lz注意自己甄别。

因为CPU并没有提供唯一的序列号,根本就没有,所以不要试图再浪费时间寻找什么“获取唯一的CPU序列号”,这无异于寻找永动机。如果你出于某种需要,可以设法采集别的计算机的唯一特征,比如主板id,mac地址,硬盘物理序列号,或者自己写一个序列号,藏在主板的dmi表里面等。然而这些事实上也都能伪造。

解决的办法是使用硬件加密狗。

转载:486以后的CPU就不再提供该功能,据说是出于隐私的原因。查看你的处理器是否支持处理器序列号功能,可以执行EAX=1的 CPUID指令,然后查看EDX的PSN功能(bit 18),如果为1,说明你的处理器可以返回序列号,否则不支持序列号功能或者是序列号功能被关闭了。

处理器序列号一共96位,最高32位就是处理器签名,通过执行EAX=1的CPUID指令获得,其余的64位在执行EAX=3的CPUID指令后,中间32位在EDX中,最低32位在ECX中。

顺便提一句,AMD所有的CPU都没有提供过处理器序列号的功能。

你可以尝试通过获取CPU ID, 硬盘序列号, 然后交叉组合一下, 再获取其MD5码来使用;

一、CPU都有一个唯一的ID号,称CPUID,是在制造CPU的时候,由厂家置入到CPU内部的。

二、查看方法:

1、右点开始,选运行,并输入CMD。
图片说明

2、输入wmic CPU get ProcessorID ,就可以得到ID。
图片说明

三、作用和意义:

由于CPU外在的所有标记、符号,都是可以人为打磨,而CPUID却是终身不变的,只能用软件读出ID号;因此,利用这个原理,CPU ID工具可以显出CPU的确切信息,包括移动版本、主频、外频、二级缓存等关键信息,从而查出超频的CPU,并且醒目地显示出来。