产品号生成防伪码的方法、系统、设备及存储介质与流程

文档序号:31026130发布日期:2022-08-06 00:36阅读:193来源:国知局
产品号生成防伪码的方法、系统、设备及存储介质与流程

本发明涉及一种产品号生成防伪码的方法、系统、设备及存储介质,属于防伪码的生成方法技术领域。


背景技术:

产品假冒问题由来已久,许多企业在防假与打假的工作方面已经非常努力,并取得了一定的成效,但是假冒伪劣依然是屡禁不止。为规范市场秩序,防止假冒伪劣商品冲击产品价格、破坏产品形象、破坏产品信誉、破坏产品市场,各生产企业大多会在产品上印刷防伪码。目前,防伪码加密生成算法层出不穷,但大多数加密生成算法存在加密强度不够、算法效率低下的问题。


技术实现要素:

本发明要解决的技术问题是:克服现有技术的不足,提供一种产品号生成防伪码的方法、系统、设备及存储介质,具有加密强度高、不易破解的特点。本发明所述产品号生成防伪码的方法,包括如下步骤:步骤s1、对产品编号以预定规则生成唯一编号p、对产品顺序号在预定长度范围内取值n;步骤s2、对产品编号p、产品顺序号n根据预定的明文m1、明文m2、密钥依次进行aes加密运算,并取模算法后得到认证码;步骤s3、将所述产品编号、产品顺序号和所述认证码组合成明码;步骤s4、对所述明码按照预定一维数组key,二维数组cv,以及10*10二维数组la0、la1、la2、la3、la4、la5、la6、la7进行全码转换算法,得到防伪码数组;步骤s5、将所述防伪码数组转换为固定进制字符串,得到防伪码。首先依次对产品唯一编号、产品顺序号采用aes算法进行加密,其中,aes加密算法用到的明文、密钥使用产品唯一编号、产品顺序号进行了重置,将aes算法加密结果与产品唯一编号、产品顺序号进行数组合并运算生成明码,根据预定的多个数组对明码进行全码转换算法方可得到防伪码。因此,与其他防伪码加密生成算法相比,本发明的生成方法具有加密强度高、极难破解的特点,以保证防伪码的的唯一性和不可伪造性。步骤s3中所述明码由所述产品编号数组、所述产品顺序号数组、所述认证码进行数组合并运算生成。优选地,所述步骤s2中的aes加密运算包括以下步骤:步骤s2-1、将所述产品编号p转换为16进制产品编号数组,将所述产品顺序号n转换为16进制产品顺序号数组;步骤s2-2、根据所述产品编号数组按位迭代置换所述明文m1中的第1、3、

、2*pn-1位数据,得到明文m1-1;
步骤s2-3、根据所述产品编号数组按位迭代置换所述密钥中的第3、6、

、3*pn位数据,得到新密钥;步骤s2-4、根据所述明文m1-1和所述新密钥,进行aes加密,得到第1运算值;步骤s2-5、根据所述产品顺序号数组按位迭代置换所述明文m2中的第0、2、

、2*sn-2位数据,得到明文m2-1;步骤s2-6、根据所述明文m2-1和所述第1运算值,进行aes加密,得到第2运算值。用于对aes加密算法用到的明文、密钥使用产品唯一编号、产品顺序号进行了重置。优选地,所述步骤s2中的取模算法包括以下步骤:步骤s2-7、将所述第2运算值按位取模10运算,得到第3运算值;步骤s2-8、取所述第3运算值的第0位,得到n1;步骤s2-9、将所述第3运算值从第1位至n1+1位取和,得到第4运算值;步骤s2-10、将第4运算值取模10运算,得到n2;步骤s2-11、将所述第3运算值从第n1+2位至15位取和,得到第5运算值;步骤s2-12、将第5运算值取模10运算,得到n3;步骤s2-13、将所述n1、所述n2、所述n3组合成数组,得到所述认证码。优选地,所述步骤s4中的全码转换算法包括如下步骤:步骤s4-1、将一维数组key按位循环赋值,得到一维数组k;将明码按位循环赋值,得到一维数组x;步骤s4-2、将所述一维数组k、所述一维数组x经过14次迭代运算,得到一维数组x1;步骤s4-3、将所述一维数组x1进行左移8位运算,得到防伪码数组。优选地,所述步骤s4-2中14次迭代运算中的单次迭代运算包括如下步骤:步骤s4-21、将所述一维数组k、所述一维数组x经过8次赋值迭代运算,得到一维数组zh;步骤s4-22、将所述一维数组x进行左移8位运算,并将所述一维数组zh前8位赋值给所述一维数组x的后8位,得到所述一维数组x1;步骤s4-23、将所述一维数组k进行右移1位运算,进入下一轮迭代。用于根据预定的多个数组对明码进行全码转换算法方可得到防伪码。优选地,所述所述8次赋值迭代运算包括以下步骤:步骤s4-211、取二维数组cv的第n行第0列数据,得到t1,取所述二维数组cv的第n行第1列数据,得到t2,取所述一维数组x的第t1位数据,得到xu,取所述一维数组x的第t2位数据,得到xw;步骤s4-212、将所述xu与所述一维数组k的第n位数据求和运算,结果并取模10运算,得到gu;步骤s4-213、将所述xw与所述一维数组k的第n+8位数据求和运算,结果并取模10运算,得到qu;取二维码数组la(n)的第gu行第qu列数据,得到yu;步骤s4-214、将所述yu与所述一维数组x的第n位数据求和运算,结果并取模10运算,得到yux1;将所述yux1赋值给所述一维数组zh的第n位,进入下一轮迭代。
用于对所述一维数组k、所述一维数组x经过8次赋值迭代运算,得到一维数组zh。优选地,所述步骤s1中的产品编号p位数为pn,包括数字字符
‘0’

‘9’
;产品顺序号n位数为sn,包括数字字符
‘0’

‘9’
。用于生成产品编号p和产品顺序号n。本发明所述产品号生成防伪码的系统,包括字符串生成模块、认证码生成模块、明码生成模块、防伪码数组生成模块、防伪码生成模块,采用上述的产品号生成防伪码的方法生成防伪码;字符串生成模块:用于对产品编号以预定规则生成唯一编号p、对产品顺序号在预定长度范围内取值n;认证码生成模块:用于对产品编号p、产品顺序号n根据预定的明文m1、明文m2、密钥依次进行aes加密运算,并取模算法后得到认证码;明码生成模块:用于将所述产品编号、产品顺序号和所述认证码组合成明码;防伪码数组生成模块:用于对所述明码按照预定一维数组key,二维数组cv,以及10*10二维数组la0、la1、la2、la3、la4、la5、la6、la7进行全码转换算法,得到防伪码数组;防伪码生成模块:用于将所述防伪码数组转换为固定进制字符串,得到防伪码。对产品唯一编号、产品顺序号采用aes算法进行加密,其中,aes加密算法用到的明文、密钥使用产品唯一编号、产品顺序号进行了重置,将aes算法加密结果与产品唯一编号、产品顺序号进行数组合并运算生成明码,根据预定的多个数组对明码进行全码转换算法方可得到防伪码。因此,与其他防伪码加密生成系统相比,本发明的生成系统具有加密强度高、极难破解的特点,以保证防伪码的的唯一性和不可伪造性。本发明所述产品号生成防伪码的设备,包括存储器和处理器,存储器:用于存储计算机程序;处理器:用于执行所述计算机程序时实现上述的产品号生成防伪码的方法的步骤。本发明所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的产品号生成防伪码的方法的步骤。与现有技术相比,本发明具有以下有益效果:本发明所述产品号生成防伪码的方法,首先依次对产品唯一编号、产品顺序号采用aes算法进行加密,其中,aes加密算法用到的明文、密钥使用产品唯一编号、产品顺序号进行了重置,将aes算法加密结果与产品唯一编号、产品顺序号进行数组合并运算生成明码,根据预定的多个数组对明码进行全码转换算法方可得到防伪码。因此,与其他防伪码加密生成算法相比,本发明的产品号生成防伪码的方法具有加密强度高、极难破解的特点,以保证防伪码的的唯一性和不可伪造性。本发明所述产品号生成防伪码的系统,对产品唯一编号、产品顺序号采用aes算法进行加密,其中,aes加密算法用到的明文、密钥使用产品唯一编号、产品顺序号进行了重置,将aes算法加密结果与产品唯一编号、产品顺序号进行数组合并运算生成明码,根据预定的多个数组对明码进行全码转换算法方可得到防伪码。因此,与其他防伪码加密生成系统相比,本发明的产品号生成防伪码的系统具有加密强度高、极难破解的特点,以保证防伪码的的唯一性和不可伪造性。
与其他防伪码加密生成设备相比,本发明的产品号生成防伪码的设备在生成生成防伪码时,具有加密强度高、极难破解的特点,以保证防伪码的的唯一性和不可伪造性。与其他计算机可读存储介质相比,本发明的计算机可读存储介质执行产品号生成防伪码的方法,具有加密强度高、极难破解的特点,以保证防伪码的的唯一性和不可伪造性。
附图说明
图1是本发明的一种产品号生成防伪码的方法流程图;图2是本发明中一种aes加密算法流程图;图3是本发明中一种取模算法流程图;图4是本发明中全码转换算法流程图;图5是本发明实施例1中产品编号、产品顺序号生成规则示意图;图6是本发明实施例2中产品编号、产品顺序号生成规则示意图;图7是发明的一种产品号生成防伪码的系统的结构框图;图8是发明的一种产品号生成防伪码的设备的结构框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明实施方式作进一步地详细描述。如图1所示,本发明所述产品号生成防伪码的方法,包括如下步骤:步骤s1、对产品编号以预定规则生成唯一编号p、对产品顺序号在预定长度范围内取值n;步骤s2、对产品编号p、产品顺序号n根据预定的明文m1、明文m2、密钥依次进行aes加密运算,并取模算法后得到认证码;步骤s3、将所述产品编号、产品顺序号和所述认证码组合成明码m;步骤s4、对所述明码按照预定一维数组key,二维数组cv,以及10*10二维数组la0、la1、la2、la3、la4、la5、la6、la7进行全码转换算法,得到防伪码数组;步骤s5、将所述防伪码数组转换为固定进制字符串,得到防伪码。首先依次对产品唯一编号、产品顺序号采用aes算法进行加密,其中,aes加密算法用到的明文、密钥使用产品唯一编号、产品顺序号进行了重置,将aes算法加密结果与产品唯一编号、产品顺序号进行数组合并运算生成明码,根据预定的多个数组对明码进行全码转换算法方可得到防伪码。因此,与其他防伪码加密生成算法相比,本发明的生成方法具有加密强度高、极难破解的特点,以保证防伪码的的唯一性和不可伪造性。在此,将所述防伪码数组转换为固定进制字符串,固定进制字符串可以为16进制,也可以为12进制,还可以为8进制等等,在此不做限制。所述步骤s1中的产品编号p位数为pn,包括数字字符
‘0’

‘9’
;产品顺序号n位数为sn,包括数字字符
‘0’

‘9’
。如图2所示,所述步骤s2中的aes加密运算包括以下步骤:步骤s2-1、将所述产品编号p转换为16进制产品编号数组pu,将所述产品顺序号n
转换为16进制产品顺序号数组su;步骤s2-2、根据所述产品编号数组按位迭代置换所述明文m1中的第1、3、

、2*pn-1位数据,得到明文m1-1;步骤s2-3、根据所述产品编号数组按位迭代置换所述密钥中的第3、6、

、3*pn位数据,得到新密钥k1;步骤s2-4、根据所述明文m1-1和所述新密钥k1,进行aes加密,得到第1运算值,即密钥k2;步骤s2-5、根据所述产品顺序号数组按位迭代置换所述明文m2中的第0、2、

、2*sn-2位数据,得到明文m2-1;步骤s2-6、利用密钥k2对明文m2-1进行aes加密,得到第2运算值,即数组k3。用于对aes加密算法用到的明文、密钥使用产品唯一编号、产品顺序号进行了重置。如图3所示,所述步骤s2中的取模算法包括以下步骤:步骤s2-7、将数组k3按位取模10运算,得到第3运算值,即数组k3-1;步骤s2-8、取数组k3-1的第0位,得到n1,即ifirst;步骤s2-9、将数组k3-1从第1位至ifirst位取和,得到第4运算值,即k3-2;步骤s2-10、将k3-2取模10运算,得到n2,即isecond;步骤s2-11、对数组k3-1的第ifirst+2位至第15位进行求和,得到第5运算值,即k3-3;步骤s2-12、对k3-3做模10运算,得到n3,即ithree;步骤s2-13、将ifirst、isecond、ithree组合成数组,得到认证码r,进入步骤s3。用于对aes算法加密结果进行取模算法得到认证码。如图4所示,所述步骤s4中的全码转换算法包括如下步骤:步骤s4-1、将一维数组key按位循环赋值,得到一维数组k;将明码按位循环赋值,得到一维数组x;步骤s4-2、将所述一维数组k、所述一维数组x经过14次迭代运算,得到一维数组x1;步骤s4-3、将所述一维数组x1进行左移8位运算,得到防伪码数组z。其中,所述步骤s4-2中14次迭代运算中的单次迭代运算包括如下步骤:步骤s4-21、将所述一维数组k、所述一维数组x经过8次赋值迭代运算,得到一维数组zh;步骤s4-22、将所述一维数组x进行左移8位运算,并将所述一维数组zh前8位赋值给所述一维数组x的后8位,得到所述一维数组x1;步骤s4-23、将所述一维数组k进行右移1位运算,进入下一轮迭代。用于根据预定的多个数组对明码进行全码转换算法方可得到防伪码。进一步的,所述所述8次赋值迭代运算中的第n次赋值迭代运算包括以下步骤::步骤s4-211:取cv[j][0],得到t1,取cv[j][1],得到t2,取x[t1]得到xu,取x[t2],得到xw;步骤s4-212:取xu+k[j],得到xuk,对xuk做模10运算,得到gu;
步骤s4-213:取xw+k[j+8],得到xwk,对xwk做模10运算,得到qu,取la[j][gu][qu],得到yu;步骤s4-214:取yu+x[j],得到yux,对yux做模10运算,得到yux1,取zh[j]=yux1,进入下一轮迭代。用于对所述一维数组k、所述一维数组x经过8次赋值迭代运算,得到一维数组zh。具体的,下面以2个具体的实施例对本发明所述产品号生成防伪码的方法进行描述。实施例1步骤s1:按照图5所示的预定规则生成产品唯一编号00001,按照图5所示的预定长度范围取产品顺序号00000001,然后进入步骤s2。步骤s2:将产品编号00001转换为16进制产品编号数组pu{0,0,0,0,1},将产品顺序号00000001换为16进制产品编号数组su{0,0,0,0,0,0,0,1},并根据预定的明文m1{0xf6,0xf1,0xf6,0xa6,0x09,0xf6,0xb3,0xc9,0xd2,0x09,0xae,0xca,0x83,0x34,0xaf,0x9e}、明文m2{0x88,0x5a,0x30,0x8d,0x32,0x43,0xf6,0xa8,0x31,0x31,0x98,0xa2,0xe0,0x37,0x07,0x34}、密钥k{0xf1,0x34,0xa6,0x09,0xab,0x7e,0xf1,0xab,0xd2,0x09,0xae,0xca,0xc9,0xf6,0xcf,0x7e}依次进行aes加密算法运算,得到数组k3{0x24,0x81,0x64,0xe9,0xea,0xcc,0x8e,0xeb,0x61,0xe0,0x90,0x19,0xa0,0xff,0xa8,0xac}。对数组k3进行取模算法运算,得到认证码r{6,7,5},进入步骤s3。步骤s3:对产品编号数组pu、产品顺序号数组su、认证码r进行数组合并运算生成明码m{0x00,0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x06,0x07,0x05
},然后进入步骤s4。步骤s4:根据预定的一维数组key{8,0,5,7,9,2,1,7,3,4,5,2,6,9,1,4},二维数组cv{{14,11,},{8,15,},{10,14,},{11,8,},{9,13,},{13,10,},{12,9,},{15,12}},以及10*10二维数组la0、la1、la2、la3、la4、la5、la6、la7,对明码m进行全码转换运算,得到防伪码数组z{0x06,0x02,0x06,0x07,0x07,0x05,0x01,0x02,0x06,0x05,0x08,0x01,0x04,0x04,0x07,0x06},然后进入步骤s5。步骤s5:将防伪码数组z转换为16进制或10进制字符串,得到16位防伪码6267751265814476。实施例2步骤s1:按照图6所示的预定规则生成产品唯一编号01,按照图6所示的预定长度范围取产品顺序号0000001,然后进入步骤s2。步骤s2:将产品编号01转换为16进制产品编号数组pu{0,1},将产品顺序号0000001换为16进制产品编号数组su{0,0,0,0,0,0,1},并根据预定的明文m1{0xf6,0xf1,0xf6,0xa6,0x09,0xf6,0xb3,0xc9,0xd2,0x09,0xae,0xca,0x83,0x34,0xaf,0x9e}、明文m2{0x88,0x5a,0x30,0x8d,0x32,0x43,0xf6,0xa8,0x31,0x31,0x98,0xa2,0xe0,0x37,0x07,0x34}、密钥k{0xf1,0x34,0xa6,0x09,0xab,0x7e,0xf1,0xab,0xd2,0x09,0xae,0xca,0xc9,0xf6,0xcf,0x7e}依次进行aes加密算法运算,得到数组k3{
0x0e,0x99,0x61,0x27,0x99,0x0b,0xf0,0x05,0x96,0xae,0xc2,0x3e,0x2a,0x2f,0x89,0x8e}。对数组k3进行取模算法运算,得到认证码r{4,3,3},进入步骤s3。步骤s3:对产品编号数组pu、产品顺序号数组su、认证码r进行数组合并运算生成明码m{0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x04,0x03,0x03},然后进入步骤s4。
[0085]
步骤s4:根据预定的一维数组key{8,7,5,1,2,4,3,9,4,6,7,0},二维数组cv{{9,6,},{10,7,},{6,11,},{11,8,},{7,9,},{8,10}},以及10*10二维数组la0、la1、la2、la3、la4、la5、la6、la7,对明码m进行全码转换运算,得到防伪码数组z{0x01,0x09,0x03,0x00,0x03,0x02,0x01,0x05,0x02,0x07,0x01,0x09},然后进入步骤s5。步骤s5:将防伪码数组z转换为16进制或10进制字符串,得到12位防伪码193032152719。由上述具体实施例1和实施例2分析可知,本专利提供的一种产品号生成防伪码的方法所生成的防伪码不仅与预定的明文、密钥、数组有关,而且依赖于产品编号和产品顺序号的位数组合,因此,与其他防伪码加密生成算法相比,本发明的一种产品号生成防伪码的方法具有加密强度高、极难破解的特点,以保证防伪码的的唯一性和不可伪造性。如图7所示,本发明所述产品号生成防伪码的系统,包括字符串生成模块、认证码生成模块、明码生成模块、防伪码数组生成模块、防伪码生成模块,采用上述的产品号生成防伪码的方法生成防伪码;字符串生成模块:用于对产品编号以预定规则生成唯一编号p、对产品顺序号在预定长度范围内取值n;认证码生成模块:用于对产品编号p、产品顺序号n根据预定的明文m1、明文m2、密钥依次进行aes加密运算,并取模算法后得到认证码;明码生成模块:用于将所述产品编号、产品顺序号和所述认证码组合成明码;防伪码数组生成模块:用于对所述明码按照预定一维数组key,二维数组cv,以及
10*10二维数组la0、la1、la2、la3、la4、la5、la6、la7进行全码转换算法,得到防伪码数组;防伪码生成模块:用于将所述防伪码数组转换为固定进制字符串,得到防伪码。对产品唯一编号、产品顺序号采用aes算法进行加密,其中,aes加密算法用到的明文、密钥使用产品唯一编号、产品顺序号进行了重置,将aes算法加密结果与产品唯一编号、产品顺序号进行数组合并运算生成明码,根据预定的多个数组对明码进行全码转换算法方可得到防伪码。因此,与其他防伪码加密生成系统相比,本发明的生成系统具有加密强度高、极难破解的特点,以保证防伪码的的唯一性和不可伪造性。如图8所示,本发明所述产品号生成防伪码的设备,包括存储器和处理器,存储器:用于存储计算机程序;处理器:用于执行所述计算机程序时实现上述的产品号生成防伪码的方法的步骤。本发明所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的产品号生成防伪码的方法的步骤。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1