1.一种商品防伪二维码的批量生成方法,其特征在于,包括如下几个步骤:(1)将某批商品的身份信息编码生成批量商品身份码S=S1S2S3...SL-2SL-1SL,其中批量商品身份码长度为L,同时根据该批商品的数量K,设置长度为K的商品生产序号数值序列B={B1,B2,...,BK};
(2)将批量商品身份码S的每个字符Sk分别转化成ASCII码数值型数据Pk,其中k∈[1,L],再按如下公式分别计算得到数值型数据 和切换数据SK:SK=mod(sum(P),3)
其中,P={P1,P2,...,Pk,...,PL},Pk∈[32,126], SK为[0,2]的整数,从而获得与批量商品身份码S长度相等的数值序列 以及切换数据SK;
(3)某批商品的批量商品身份码加密:
首先,利用某批商品的批量商品身份码MD5值G=G1G2G3...G30G31G32和切换数据SK,以及外部密钥α、β,按照如下所示公式分别计算得到混沌系统的初值x1、参数μ、初始迭代步数m1和抽取间隔n1:
x1=sign(α)×mod(sum(bianm(G))/512-α,1),μ=β
m1=211+μ
n1=SK+mod(μ,19)+1;
其中,sign(·)为符号函数,bianm(·)为自定义函数;α∈(-1,1),β是≥2的整数,同时判断初值x1是否为0,如果x1=0,则令x1=0.000012345,从而保证x1∈(-1,0)∪(0,1),μ≥2的整数,m1≥213的整数,n1∈[1,21]的整数,可见混沌系统的初值x1、参数μ、初始迭代步数m1和抽取间隔n1不仅与外部密钥α、β有关,而且会随着某批商品的身份信息变化;
然后,由初值x1和参数μ,对如下公式所示的切比雪夫混沌映射进行迭代,k表示迭代次数(k=1,2,...),xk+1表示第k次迭代得到的混沌信号:xk+1=cos(μ*arccos(xk))得到混沌序列X={x1,x2,x3,...,xk,...},从第m1个元素开始每隔n1个元素取1个,从而形成长度为L的混沌序列
接着,根据切换数据SK,选择如下某种对应运算:当SK=0时,将序列 按升序排序,按序列 排序前、后的位置变化置乱规则,对数值序列 进行置乱,得到置乱后的数值序列 再令 从而得到某批商品的身份加密数值序列PP;
当SK=1时,将数值序列 中各元素依次进行如下公式所示的正向扩散加密,其中, k∈[1,L], 和 为正
向替换加密运算初值,得到正向扩散加密后的数值序列 再令 从而得到某批商品的身份加密数值序列PP;
当SK=2时,将数值序列 中各元素依次进行如下公式所示的逆向扩散加密,其中, k∈[1,L], 和 为逆
向替换加密运算初值,得到逆向扩散加密后的数值序列 再令 从而得到某批商品的身份加密数值序列PP;
(4)某批商品的防伪号批量生成:
根据该批商品中各件商品生产序号的不同,分别执行单件商品的防伪号生成步骤,即可实现该批商品的防伪号批量生成,其中第i件商品的防伪号生成步骤描述如下:首先,利用该批商品的身份信息即MD5值G,外部密钥γ,η和第i件商品的生产序号Bi,按照如下所示公式分别计算得到混沌系统的初值y1、参数ν、初始迭代步数m2,m3和抽取间隔n2,n3:
y1=sign(γ)×mod(sum(bianm(G))/512+γ-Bi/K,1),ν=η,
m2=211+mod(Bi,101),m3=199+mod(η,29)n2=SK+mod(η,19)+1,n3=mod(Bi,5)+1其中,sign(·)为符号函数,bianm(·)为自定义函数;γ∈(-1,1),η是≥2的整数,同时判断初值y1是否为0,如果y1=0,则令y1=0.000012345,从而保证y1∈(-1,0)∪(0,1),ν≥2的整数,m2∈[211,311]的整数,m3∈[199,227]的整数,n2∈[1,21]的整数,n3∈[1,5]的整数,可见混沌系统的初值y1、参数ν、初始迭代步数m2,m3和抽取间隔n2,n3不仅与外部密钥γ、η有关,而且会随着某批商品的身份信息,以及第i件商品的生产序号Bi变化;
然后,由初值y1和参数ν,对如下公式所示的切比雪夫混沌映射进行迭代,k表示迭代次数(k=1,2,...),yk+1表示第k次迭代得到的混沌信号,yk+1=cos(ν*arccos(yk))得到混沌序列Y={y1,y2,y3,...,yk,...},从第m2个元素开始每隔n2个元素取1个,从而形成长度为L+M的混沌序列 同时从第m3个元素开始每隔n3个元素取1个,从而形成长度为95的混沌序列 其中10M≥商品生产序号数值序列的长度K>10M-1;
接着,将序列 按升序排序,按序列 排序前、后的位置变化置乱规则,对自定义的数值型数据与密文字符对应关系表中的密文字符位置进行置乱,得到置乱后的数值型数据与密文字符对应关系表,再根据置乱后的数值型数据与密文字符对应关系,将某批商品的身份加密数值序列PP转化成密文字符序列C1,进而将密文字符序列C1和字符化商品生产序号进行组合,得到第i件商品的密文字符序列C2,其中字符序列C2的长度为L+M;
最后,将序列 按升序排序,按序列 排序前、后的位置变化置乱规则,对第i件商品的密文字符序列C2进行置乱,得到第i件商品的防伪号C,根据该批商品中单件商品防伪号的生成过程,依次进行该批商品中各件商品防伪号的生成;
(5)将该批商品的批量商品身份码S和单件商品的字符化商品生产序号 防伪号C三者组合,生成该批商品中单件商品的防伪码,并生成QR Code类型的单件商品防伪二维码,按此规则可批量组合生成该批商品的防伪码和防伪二维码。
2.根据权利要求1所述的一种商品防伪二维码的批量生成方法,其特征在于:步骤(1)中所述的将某批商品的身份信息编码生成批量商品身份码,其中批量商品身份码包括数字字符‘0’~‘9’、大写字母‘A’~‘Z’、小写字母‘a’~‘z’以及标点符号、运算符号,共95种可见字符。
3.根据权利要求1所述的一种商品防伪二维码的批量生成方法,其特征在于:步骤(1)中所述的根据该批商品的数量K,设置长度为K的商品生产序号数值序列,其中商品生产序号数值序列中各元素为从0开始逐1递增,数值序列的长度等于该批商品的数量。
4.根据权利要求1所述的一种商品防伪二维码生成方法,其特征在于:步骤(3)和步骤(4)中所述的bianm(·)为自定义函数,自定义的字符与数值型数据对应关系为:‘0’→0;
‘1’→1;‘2’→2;‘3’→3;‘4’→4;‘5’→5;‘6’→6;‘7’→7;‘8’→8;‘9’→9;‘A’或‘a’→10;
‘B’或‘b’→11;‘C’或‘c’→12;‘D’或‘d’→13;‘E’或‘e’→14;‘F’或‘f’→15。
5.根据权利要求1所述的一种商品防伪二维码的批量生成方法,其特征在于:步骤(4)中所述的自定义数值型数据与密文字符对应关系为:0→‘’;1→‘!’;2→‘"’;3→‘#’;4→‘$’;5→‘%’;6→‘&’;7→‘'’;8→‘(’;9→‘)’;10→‘*’;11→‘+’;12→‘,’;13→‘-’;14→‘.’;15→‘/’;16→‘0’;17→‘1’;18→‘2’;19→‘3’;20→‘4’;21→‘5’;22→‘6’;23→‘7’;
24→‘8’;25→‘9’;26→‘:’;27→‘;’;28→‘<’;29→‘=’;30→‘>’;31→‘?’;32→‘@’;33→‘A’;34→‘B’;35→‘C’;36→‘D’;37→‘E’;38→‘F’;39→‘G’;40→‘H’;41→‘I’;42→‘J’;
43→‘K’;44→‘L’;45→‘M’;46→‘N’;47→‘O’;48→‘P’;49→‘Q’;50→‘R’;51→‘S’;52→‘T’;53→‘U’;54→‘V’;55→‘W’;56→‘X’;57→‘Y’;58→‘Z’;59→‘[’;60→‘\’;61→‘]’;
62→‘^’;63→‘_’;64→‘`’;65→‘a’;66→‘b’;67→‘c’;68→‘d’;69→‘e’;70→‘f’;71→‘g’;72→‘h’;73→‘i’;74→‘j’;75→‘k’;76→‘l’;77→‘m’;78→‘n’;79→‘o’;80→‘p’;
81→‘q’;82→‘r’;83→‘s’;84→‘t’;85→‘u’;86→‘v’;87→‘w’;88→‘x’;89→‘y’;90→‘z’;91→‘{’;92→‘|’;93→‘}’;94→‘~’。
6.根据权利要求1所述的一种商品防伪二维码的批量生成方法,其特征在于:步骤(4)和步骤(5)中所述字符化商品生产序号,是指将数值型商品生产序号转换为字符与各位数M M
值完全一样而形成的字符串,字符串长度M满足:10 ≥商品生产序号数值序列的长度K>10-1,同时如果字符串长度不够则在该字符串前补足字符‘0’。
7.根据权利要求1所述的一种商品防伪二维码的批量生成方法,其特征在于:步骤(4)中所述将密文字符序列C1和字符化商品生产序号 进行组合,是指将密文字符序列C1和字符化商品生产序号 直接顺序连接。
8.根据权利要求1所述的一种商品防伪二维码的批量生成方法,其特征在于:步骤(5)中所述将该批商品的批量商品身份码S和单件商品的字符化商品生产序号B、防伪号C三者组合,生成该批商品中单件商品的防伪码,是指采用正向批量商品身份码S、正向字符化商品生产序号和逆向防伪号C间隔插入的组合方式,即