2024年5月8日发(作者:)

微软序列号生成和验证的技术原理!

1.产品ID(ProductID)

产品ID是由五组十进制数组成,如下:

AAAAA BBB CCCCCCC DD EEE

52273 005 6861993 09 146

如果你用“ProductID”搜索注册表,你会发现一个与你安装的软件有关的产品ID。

在Windows的控制面板里的系统里,你可以找到Windows 操作系统的产品ID。

每组数字所代表的意义如下表:

数字 意义

AAAAA 产品编号,例:55661为windows pro版 55660为HOME版

BBB 初级产品序列号的最高有效三位数字(见下文)

CCCCCCC 初级产品序列号的最低有效六位数字以及校验数位的和 (见下文)

DD 用来验证产品序列号的公开密匙索引.例:PRO版为22,VLK版为23

EEE 随机值(用于电话激活时,产生不同的安装ID)

在上面的CCCCCCC部分中,由一个校验数位和六个数字组成。校验数位是这样计算

得到的:将所有数位相加,包含一个检验数位,可以被七整除。

例:初级产品序列号的最低有效六位数字是728439

7 + 2 + 8 + 4 + 3 + 9 = 33

所以检验数位为2,因为

7 + 2 + 8 + 4 + 3 + 9 + 2 = 33 + 2 = 35

所得到的结果35可被七整除。所以产品ID中的CCCCCCC部分的结果为7284392。

2、产品序列号组成

这25位的序列号,是用来区分每份微软产品的产品序列号。产品序列号由五组被“-”

分隔开,由字母数字混合编制的字符串组成,每组字符串是由五个字符串组成。如下:

FFFFF-GGGGG-HHHHH-JJJJJ-KKKKK

每个字符是取自于以下24个字母及数字之中的一个:

B C E F G H J K M P Q R T V W X Y 2 3 4 6 7 8 9

采用这24个字符的原因是为了避免混淆相似的字母和数字,如I和1,O和0等,减

少产生不必要的麻烦。