产品号生成防伪码的方法、系统、设备及存储介质技术方案

技术编号:34452647 阅读:26 留言:0更新日期:2022-08-06 16:55
本发明专利技术涉及一种产品号生成防伪码的方法、系统、设备及存储介质,属于防伪码的生成方法技术领域;方法包括步骤S1、对产品编号以预定规则生成唯一编号P、对产品顺序号在预定长度范围内取值N;步骤S2、对产品编号P、产品顺序号N进行AES加密运算,并取模算法后得到认证码;步骤S3、将所述产品编号、产品顺序号和所述认证码组合成明码;步骤S4、对所述明码进行全码转换得到防伪码数组;步骤S5、将所述防伪码数组转换为防伪码;系统包括字符串生成模块、认证码生成模块、明码生成模块、防伪码数组生成模块、防伪码生成模块;设备包括存储器和处理器;可读存储介质上存储有计算机程序,执行时实现上述的方法的步骤;加密强度高、不易破解。不易破解。不易破解。

【技术实现步骤摘要】
产品号生成防伪码的方法、系统、设备及存储介质


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


技术介绍

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

技术实现思路

本专利技术要解决的技术问题是:克服现有技术的不足,提供一种产品号生成防伪码的方法、系统、设备及存储介质,具有加密强度高、不易破解的特点。本专利技术所述产品号生成防伪码的方法,包括如下步骤:步骤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进行全码转换算法,得到防伪码数组;防伪码生成模块:用于将所述防伪码数组转换为固定进制字符串,得到防伪码。对产品唯一编号、产本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种产品号生成防伪码的方法,其特征在于,包括如下步骤:步骤S1、对产品编号以预定规则生成唯一编号P、对产品顺序号在预定长度范围内取值N;步骤S2、对产品编号P、产品顺序号N根据预定的明文M1、明文M2、密钥依次进行AES加密运算,并取模算法后得到认证码;步骤S3、将所述产品编号、产品顺序号和所述认证码组合成明码;步骤S4、对所述明码按照预定一维数组key,二维数组cv,以及10*10二维数组la0、la1、la2、la3、la4、la5、la6、la7进行全码转换算法,得到防伪码数组;步骤S5、将所述防伪码数组转换为固定进制字符串,得到防伪码。2.根据权利要求1所述的产品号生成防伪码的方法,其特征在于,所述步骤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运算值。3.根据权利要求2所述的产品号生成防伪码的方法,其特征在于,所述步骤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组合成数组,得到所述认证码。4.根据权利要求1所述的产品号生成防伪码的方法,其特征在于,所述步骤S4中的全码转换算法包括如下步骤:步骤S4

1、将一维数组key按位循环赋值,得到一维数组k;将明码按位循环赋值,得到一维数组X;步骤S4

2、将所述一维数组k、所述一维数组X经过14次迭代运算,得到一维数组X1;步骤S4

3、将所述一维数组X1进行左移8位运算,得到防伪...

【专利技术属性】
技术研发人员:巩杰宋立涛武永宾程祥峰王立江巩龙贤徐立宣巩慧贤
申请(专利权)人:山东泰宝信息科技集团有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1