一种基于字符串转图片加密的商品防伪码批量生成方法

文档序号:28493176发布日期:2022-01-15 03:20阅读:111来源:国知局
一种基于字符串转图片加密的商品防伪码批量生成方法

1.本发明涉及数码防伪技术领域,特别涉及一种基于字符串转图片加密的商品防伪码批量生成方法。


背景技术:

2.目前市场上常用的防伪技术主要有纸纹防伪技术、激光全息防伪技术、化学油墨防伪技术、核径迹防伪技术、电码防伪技术,以及数码防伪技术等等。传统的防伪技术由于其制作工艺复杂、防伪标签鉴别不便等局限性,难以广泛应用于所有商品的真伪识别,仅局限于高端产品的真伪鉴别。由于传统防伪技术的种种缺点,数码防伪技术应运而生,根据制码方式的不同,其发展过程分为:随机条码防伪模型、加密有序流水号防伪模型,以及综合防伪模型三个阶段。目前,数码防伪技术已经成为了防伪行业中运用最为广泛的技术之一,在防伪领域起着举足轻重的作用。
3.数码防伪技术的前提是制码,而制码技术中常见并广泛应用的是二维码。二维码涉及社会生活的方方面面,从聊天软件中的个人名片到移动支付的交易介质,二维码成为制码技术中的热门。同时混沌信号作为一种天然的密码,引入到商品防伪码生成过程中,具有更高的安全性。


技术实现要素:

4.本发明的目的是为了解决现有技术中的不足,提供一种基于字符串转图片加密的商品防伪码批量生成方法,利用混沌系统产生的混沌信号对商品标识码转换的二进制序列进行置乱,并按照自定义的三维二进制矩阵数据分层填放规则逐层填放,以生成统一密文图片,根据该批商品中各件商品生产序号的不同产生不同的混沌信号,分别与统一密文图片像素进行按位异或操作,从而批量生成单件商品的防伪图片,进而组合生成商品防伪二维码,以此保证所提防伪码批量生成方法简单可行,具有很强的安全性、不易破解,批量生成的商品防伪码具有“唯一性和不可伪造性”。
5.本发明提供了一种基于字符串转图片加密的商品防伪码批量生成方法,包括如下几个步骤:
6.(1)转码
7.将表征某批商品唯一身份信息的批量商品标识码,即字符串逐个字符转换为数值型数据,得到数值序列随后将数值序列p中元素逐个转换成8位二进制,得到二进制序列
8.同时根据该批商品的数量k,设置一定长度的商品生产序号,即字符串逐个字符转换为数值型数据,得到数值序列
9.其中批量商品标识码来自于gbk编码的字符,批量商品标识码的长度表示为数
值序列p的长度为二进制序列pb的长度为且商品生产序号的长度为商品生产序号可表示的范围为数值序列的长度为且
10.(2)某批商品的统一加密——生成统一密文图片
11.首先,生成用于该批商品统一加密的混沌信号
12.利用外部加密密钥(α,β),按照如下(1)-(3)公式分别计算得到混沌系统的初值x1、参数λ、抽取间隔δ,令
[0013][0014]
则可得,
[0015]
x1=mod(k_inner+α,0.99)+0.01,
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
[0016]
λ=2+mod(k_inner+β,53),
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
[0017][0018]
其中,α∈(0,1),β∈(0,100),[{pb
8i-7
,pb
8i-6
,...,pb
8i-1
,pb
8i
}]0表示统计二进制序列 {pb
8i-7
,pb
8i-6
,...,pb
8i-1
,pb
8i
}中存在二进制
‘0’
的个数,表示统计二进制序列中存在二进制
‘1’
的个数,
[0019]
由初值x1、参数λ,对如下公式(4)所示的chebyshev混沌系统进行迭代,k表示迭代次数,x
k+1
表示第k次迭代得到的混沌信号,其中k=1,2,

[0020]
x
k+1
=cos(λ
·
arccos(xk))
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)
[0021]
得到混沌序列从第δ个元素开始每隔δ个元素取1个,从而形成长度为的混沌序列然后将混沌序列x分割成两部分,从而得到长度为的混沌序列以及长度为8的混沌序列
[0022]
然后,二进制序列pb的置乱
[0023]
将混沌序列x1按降序排序,根据序列x1排序前、后的位置变化置乱规则,对二进制序列进行置乱,得到置乱后的二进制序列
[0024]
最后,统一密文图片的生成
[0025]

确定灰度图片的大小,令表征灰度图片的矩阵m为方阵,且矩阵m的行数h和列数l为相应的表征灰度图片矩阵m的三维二进制矩阵mb,且矩阵mb的行数为h、
列数为l、层数为8,
[0026]

判断不等式是否成立,如成立,则生成一个长度为各元素均为二进制
‘1’
的二进制序列并将置乱后的二进制序列和二进制序列fb进行组合,得到组合二进制序列和二进制序列fb进行组合,得到组合二进制序列
[0027]
如不成立,即则直接得到组合二进制序列则直接得到组合二进制序列
[0028]

将混沌序列x2按升序排序,得到置乱后的混沌序列根据序列 x2排序前、后的位置变化置乱规则,得到矩阵mb的分层填放顺序,表示为同时按照如下公式(5)计算可得矩阵mb中第层的定位方向参数pdi,其中i=1,2,3,...,7,8,
[0029][0030]

按照自定义的三维二进制矩阵mb数据分层填放规则,将组合二进制序列bb中元素逐层填放入三维二进制矩阵mb中,由三维二进制矩阵mb继而得到数值矩阵m,从而生成该批商品的统一密文图片 c,其中矩阵m的大小为h
×
l,统一密文图片c的大小为h
×
l;
[0031]
(3)某批商品的批量加密——批量生成单件商品的防伪图片
[0032]
根据该批商品中各件商品生产序号的不同,分别执行单件商品的防伪图片生成步骤,即可实现该批商品的防伪图片批量生成,其中单件商品的防伪图片生成步骤描述如下,
[0033]
首先,生成该批单件商品加密的混沌信号
[0034]
利用该批商品统一加密时混沌系统的初值x1,根据该批商品中该件商品的商品生产序号,以及其转换的数值序列按照如下公式(6)所示计算得到该批商品中该件商品加密时混沌系统的初值y1,
[0035][0036]
由初值y1、参数λ,对如下公式(7)所示的chebyshev混沌系统进行迭代,k表示迭代次数,y
k+1
表示第k次迭代得到的混沌信号,其中k=1,2,


[0037]yk+1
=cos(λ
·
arccos(yk))
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(7)
[0038]
得到混沌序列yy={y1,y2,...,y
1001
,y
1002
,...,y
1000+h
×
l
,...},从第1001个元素开始连续取h
×
l个,从而形成长度为h
×
l的混沌序列y={y1,y2,y3,...,yh×
l-1
,yh×
l
}={y
1001
,y
1002
,...,y
1000+h
×
l
},
[0039]
然后,将混沌序列y中元素逐一进行如下公式(8)所示的运算处理,得到处理后的混沌序列混沌序列
[0040][0041]
最后,将数值矩阵m中元素与混沌序列中相应元素分别进行按位异或操作,得到数值矩阵表示如下,
[0042][0043]
由数值矩阵从而生成该批商品中该件商品的防伪图片cc,其中矩阵的大小为h
×
l,防伪图片cc的大小为20h
×
20l;
[0044]
(4)某批商品的商品防伪二维码生成
[0045]
将某批商品的批量商品标识码、单件商品的商品生产序号和该件商品的防伪图片cc三者组合,并利用二维码生成器,生成该批商品中单件商品的防伪二维码,按此规则可批量组合生成该批商品的防伪二维码。
[0046]
进一步地,一种基于字符串转图片加密的商品防伪码批量生成方法里步骤(1)中所述的将表征某批商品唯一身份信息的批量商品标识码,即字符串逐个字符转换为数值型数据,是指将商品标识码,即字符串中字符逐个采用unicode2native(
·
)函数转换为数值型数据,即对于双字节字符的转换表示为对于单字节字符的转换表示为从而得到数值序列得到数值序列
[0047]
进一步地,一种基于字符串转图片加密的商品防伪码批量生成方法里步骤(1)中所述的将数值序列p 中元素逐个转换成8位二进制,是指采用dec2bin(
·
,8)函数,即 [pb8×
k-7
,pb8×
k-6
,pb8×
k-5
,pb8×
k-4
,pb8×
k-3
,pb8×
k-2
,pb8×
k-1
,pb8×k]=dec2bin(pk,8),其中从而得到二进制序列
[0048]
进一步地,一种基于字符串转图片加密的商品防伪码批量生成方法里步骤(1)中所述的设置一定长度的商品生产序号,即字符串逐个字符转换为数值型数据,是指将商品生产序号,即字符串中字符逐个采用unicode2native(
·
)函数转换为数值型数据,即其中从而得到数值序列
[0049]
进一步地,一种基于字符串转图片加密的商品防伪码批量生成方法里步骤(2)中所述的按照自定义的三维二进制矩阵mb数据分层填放规则,将组合二进制序列bb中元素逐层填放入三维二进制矩阵mb 中,是指,
[0050]
对组合二进制序列bb中元素,以及三维二进制矩阵mb中第层,依次进行如下操作:
[0051]
s10.令组合二进制序列bb的初始抽取位置length_cj=1,且i=1;
[0052]
s11.从组合二进制序列bb的第length_cj个元素开始连续抽取h
×
l个元素,得到待填放的二进制序列为{bb
length_cj
,...,bb
length_cj+h
×
l-1
},同时判断矩阵mb中第层的定位方向参数pdi的数值,
[0053]
如果pdi=0,则将二进制序列中数据依次填放入矩阵mb的第层中,从矩阵mb的第层最左上角位置开始每行从左往右、逐行由上往下填放数据,
[0054]
如果pdi=1,则将二进制序列中数据依次填放入矩阵mb的第层中,从矩阵mb的第层最左上角位置开始每列从上往下、逐列由左往右填放数据,
[0055]
如果pdi=2,则将二进制序列中数据依次填放入矩阵mb的第层中,从矩阵mb的第层最右上角位置开始每行从右往左、逐行由上往下填放数据,
[0056]
如果pdi=3,则将二进制序列中数据依次填放入矩阵mb的第层中,从矩阵mb的第层最右上角位置开始每列从上往下、逐列由右往左填放数据,
[0057]
如果pdi=4,则将二进制序列中数据依次填放入矩阵mb的第层中,从矩阵mb的第层最左下角位置开始每行从左往右、逐行由下往上填放数据,
[0058]
如果pdi=5,则将二进制序列中数据依次填放入矩阵mb的第层中,从矩阵mb的第层最左下角位置开始每列从下往上、逐列由左往右填放数据,
[0059]
如果pdi=6,则将二进制序列中数据依次填放入矩阵mb的第层中,从矩阵mb的第层最右下角位置开始每行从右往左,逐行由下往上填放数据,
[0060]
如果pdi=7,则将二进制序列中数据依次填放入矩阵mb的第层中,从矩阵mb的第层最右下角位置开始每列从下往上、逐列由右往左填放数据,
[0061]
从而得到填放第层数据后的三维二进制矩阵mb;
[0062]
s12.比较i与8的大小,
[0063]
若i<8,则令i=i+1,且length_cj=length_cj+h
×
l,随后转向步骤s11,
[0064]
若i=8,则停止操作,从而得到填放数据后的三维二进制矩阵mb,同时将三维二进制矩阵mb的对应8层二进制元素,分别采用运算m(i,j)=bin2dec(mb(i,j,:))转换为某个数值型数据并填入矩阵m 中,其中i=1,2,...,h,j=1,2,...,l,继而可得数值矩阵m,表示如下,
[0065][0066]
将矩阵m转换为灰度图片,得到该批商品的统一密文图片c,其中矩阵m的大小为h
×
l,统一密文图片c的大小也为h
×
l。
[0067]
进一步地,一种基于字符串转图片加密的商品防伪码批量生成方法里步骤(3)中所述的由数值矩阵从而生成该批商品中该件商品的防伪图片cc,是指将数据矩阵中各元素分别用小矩阵块代替,小矩阵块的矩阵大小为20
×
20、元素数值均与中该元素数值一致,表示如下,
[0068][0069]
将矩阵转换为灰度图片,从而生成该批商品中该件商品的防伪图片cc,其中防伪图片cc的大小为20h
×
20l。
[0070]
进一步地,一种基于字符串转图片加密的商品防伪码批量生成方法里步骤(4)中所述的将某批商品的批量商品标识码、单件商品的商品生产序号和该件商品的防伪图片cc三者组合,是指将某批商品的批量商品标识码和单件商品的商品生产序号合并为一个字符串,表示为

生产序号’,随后将合并的字符串放在该件商品的防伪图片cc的正下方。
[0071]
有益效果:本发明中表征某批商品唯一身份信息的批量商品标识码和商品生产序号两者组合表征该批中某件商品的唯一身份信息,利用混沌系统产生的混沌信号对商品标识码转换的二进制序列进行置乱,并按照自定义的三维二进制矩阵数据分层填放规则逐层填放,以生成统一密文图片,根据该批商品中各件商品生产序号的不同产生不同的混沌信号,分别与统一密文图片像素进行按位异或操作,从而批量生成单件商品的防伪图片,进而组合生成商品防伪二维码,以此保证所提商品防伪码生成方法简单可行,具有很强的安全性、不易破解,同时生成的商品防伪码具有“唯一性和不可伪造性”。
附图说明
[0072]
图1为本发明的一种基于字符串转图片加密的商品防伪码批量生成示意图。
具体实施方式
[0073]
为了使本领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0074]
如图1所示,本发明实施例提供了一种基于字符串转图片加密的商品防伪码批量生成方法,包括如下几个步骤:
[0075]
(1)转码
[0076]
将表征某批商品唯一身份信息的批量商品标识码,即字符串逐个字符采用unicode2native(
·
)函数转换为数值型数据,即对于双字节字符的转换表示为对于单字节字符的转换表示为从而得到数值序列随后将数值序列p中元素逐个采用dec2bin(
·
,8)函数转换成8位二进制,即 [pb8×
k-7
,pb8×
k-6
,pb8×
k-5
,pb8×
k-4
,pb8×
k-3
,pb8×
k-2
,pb8×
k-1
,pb8×k]=dec2bin(pk,8),其中从而得到二进制序列
[0077]
同时根据该批商品的数量k,设置一定长度的商品生产序号,即字符串逐个字符采用 unicode2native(
·
)函数转换为数值型数据,即其中从而得到数值序列
[0078]
其中批量商品标识码来自于gbk编码的字符,批量商品标识码的长度表示为数值序列p的长度为二进制序列pb的长度为且商品生产序号的长度为商品生产序号可表示的范围为数值序列的长度为且
[0079]
(2)某批商品的统一加密——生成统一密文图片
[0080]
首先,生成用于该批商品统一加密的混沌信号
[0081]
利用外部加密密钥(α,β),按照如下所示公式分别计算得到混沌系统的初值x1、参数λ、抽取间隔δ,令
[0082][0083]
则可得,
[0084]
x1=mod(k_inner+α,0.99)+0.01,
[0085]
λ=2+mod(k_inner+β,53),
[0086][0087]
其中,α∈(0,1),β∈(0,100),[{pb
8i-7
,pb
8i-6
,...,pb
8i-1
,pb
8i
}]0表示统计二进制
序列 {pb
8i-7
,pb
8i-6
,...,pb
8i-1
,pb
8i
}中存在二进制
‘0’
的个数,表示统计二进制序列中存在二进制
‘1’
的个数,
[0088]
由初值x1、参数λ,对如下公式所示的chebyshev混沌系统进行迭代,k表示迭代次数,x
k+1
表示第k 次迭代得到的混沌信号,其中k=1,2,

[0089]
x
k+1
=cos(λ
·
arccos(xk))
[0090]
得到混沌序列从第δ个元素开始每隔δ个元素取1个,从而形成长度为的混沌序列然后将混沌序列x分割成两部分,从而得到长度为的混沌序列以及长度为8的混沌序列
[0091]
然后,二进制序列pb的置乱
[0092]
将混沌序列x1按降序排序,根据序列x1排序前、后的位置变化置乱规则,对二进制序列进行置乱,得到置乱后的二进制序列
[0093]
最后,统一密文图片的生成
[0094]

确定灰度图片的大小,令表征灰度图片的矩阵m为方阵,且矩阵m的行数h和列数l为相应的表征灰度图片矩阵m的三维二进制矩阵mb,且矩阵mb的行数为h、列数为l、层数为8,
[0095]

判断不等式是否成立,如成立,则生成一个长度为各元素均为二进制
‘1’
的二进制序列并将置乱后的二进制序列和二进制序列fb进行组合,得到组合二进制序列和二进制序列fb进行组合,得到组合二进制序列
[0096]
如不成立,即则直接得到组合二进制序列则直接得到组合二进制序列
[0097]

将混沌序列x2按升序排序,得到置乱后的混沌序列根据序列 x2排序前、后的位置变化置乱规则,得到矩阵mb的分层填放顺序,表示为同时按照如下公式计算可得矩阵mb中第层的定位方向参数pdi,其中i=1,2,3,...,7,8,
[0098][0099]

按照自定义的三维二进制矩阵mb数据分层填放规则,将组合二进制序列bb中元素逐层填放入三维二进制矩阵mb中,是指,
[0100]
对组合二进制序列bb中元素,以及三维二进制矩阵mb中第层,依次进行如下操作,
[0101]
s10.令组合二进制序列bb的初始抽取位置length_cj=1,且i=1,
[0102]
s11.从组合二进制序列bb的第length_cj个元素开始连续抽取h
×
l个元素,得到待填放的二进制序列为{bb
length_cj
,...,bb
length_cj+h
×
l-1
},同时判断矩阵mb中第层的定位方向参数pdi的数值,
[0103]
如果pdi=0,则将二进制序列中数据依次填放入矩阵mb的第层中,从矩阵mb的第层最左上角位置开始每行从左往右、逐行由上往下填放数据,
[0104]
如果pdi=1,则将二进制序列中数据依次填放入矩阵mb的第层中,从矩阵mb的第层最左上角位置开始每列从上往下、逐列由左往右填放数据,
[0105]
如果pdi=2,则将二进制序列中数据依次填放入矩阵mb的第层中,从矩阵mb的第层最右上角位置开始每行从右往左、逐行由上往下填放数据,
[0106]
如果pdi=3,则将二进制序列中数据依次填放入矩阵mb的第层中,从矩阵mb的第层最右上角位置开始每列从上往下、逐列由右往左填放数据,
[0107]
如果pdi=4,则将二进制序列中数据依次填放入矩阵mb的第层中,从矩阵mb的第层最左下角位置开始每行从左往右、逐行由下往上填放数据,
[0108]
如果pdi=5,则将二进制序列中数据依次填放入矩阵mb的第层中,从矩阵mb的第层最左下角位置开始每列从下往上、逐列由左往右填放数据,
[0109]
如果pdi=6,则将二进制序列中数据依次填放入矩阵mb的第层中,从矩阵mb的第层最右下角位置开始每行从右往左,逐行由下往上填放数据,
[0110]
如果pdi=7,则将二进制序列中数据依次填放入矩阵mb的第层中,从矩阵mb的第层最右下角位置开始每列从下往上、逐列由右往左填放数据,
[0111]
从而得到填放第层数据后的三维二进制矩阵mb,
[0112]
s12.比较i与8的大小,
[0113]
若i<8,则令i=i+1,且length_cj=length_cj+h
×
l,随后转向步骤s11,
[0114]
若i=8,则停止操作,从而得到填放数据后的三维二进制矩阵mb,同时将三维二进制矩阵mb的对应8层二进制元素,分别采用运算m(i,j)=bin2dec(mb(i,j,:))转换为某个数值型数据并填入矩阵m 中,其中i=1,2,...,h,j=1,2,...,l,继而可得数值矩阵m,表示如下,
[0115][0116]
将矩阵m转换为灰度图片,得到该批商品的统一密文图片c,其中矩阵m的大小为h
×
l,统一密文图片c的大小也为h
×
l;
[0117]
(3)某批商品的批量加密——批量生成单件商品的防伪图片
[0118]
根据该批商品中各件商品生产序号的不同,分别执行单件商品的防伪图片生成步骤,即可实现该批商品的防伪图片批量生成,其中单件商品的防伪图片生成步骤描述如下,
[0119]
首先,生成该批单件商品加密的混沌信号
[0120]
利用该批商品统一加密时混沌系统的初值x1,根据该批商品中该件商品的商品生产序号,以及其转换的数值序列按照如下公式所示计算得到该批商品中该件商品加密时混沌系统的初值y1,
[0121][0122]
由初值y1、参数λ,对如下公式所示的chebyshev混沌系统进行迭代,k表示迭代次数,y
k+1
表示第k 次迭代得到的混沌信号,其中k=1,2,


[0123]yk+1
=cos(λ
·
arccos(yk))
[0124]
得到混沌序列yy={y1,y2,...,y
1001
,y
1002
,...,y
1000+h
×
l
,...},从第1001个元素开始连续取h
×
l个,从而形成长度为h
×
l的混沌序列y={y1,y2,y3,...,yh×
l-1
,yh×
l
}={y
1001
,y
1002
,...,y
1000+h
×
l
},
[0125]
然后,将混沌序列y中元素逐一进行如下公式所示的运算处理,得到处理后的混沌序列序列
[0126][0127]
最后,将数值矩阵m中元素与混沌序列中相应元素分别进行按位异或操作,得到数值矩阵表示如下,
[0128][0129]
将数据矩阵中各元素分别用小矩阵块代替,小矩阵块的矩阵大小为20
×
20、元素数值均与中该元素数值一致,表示如下,
[0130][0131]
将矩阵转换为灰度图片,从而生成该批商品中该件商品的防伪图片cc,其中防伪图片cc的大小为20h
×
20l;
[0132]
(4)某批商品的商品防伪二维码生成
[0133]
将某批商品的批量商品标识码、单件商品的商品生产序号和该件商品的防伪图片cc三者组合,即将某批商品的批量商品标识码和单件商品的商品生产序号合并为一个字符串,表示为

生产序号’,随后将合并的字符串放在该件商品的防伪图片cc的正下方,并利用二维码生成器,生成该批商品中单件商品的防伪二维码,按此规则可批量组合生成该批商品的防伪二维码。
[0134]
下面结合具体的实施例对本发明作进一步说明:
[0135]
实施例1
[0136]
按照上述一种基于字符串转图片加密的商品防伪码批量生成方法,步骤如下:
[0137]
(1)将表征某批商品唯一身份信息的批量商品标识码,即字符串(1)将表征某批商品唯一身份信息的批量商品标识码,即字符串(1)将表征某批商品唯一身份信息的批量商品标识码,即字符串逐个字符转换为数值型数据,得到数值序列p={214,208,185,250,32,189,173,203,213,202,161, 196,207,205,168,202,208,179,231,180,168,199,248,32,163,163,163,163,188,175,205,197,161,193, 161,193,215,211,185,171,203,190,161,238,161,238,207,181,193,208,42,42,42,42,201,204,198,183, 32,201,250,178,250,200,213,198,218,163,178,163,176,163,178,163,177,45,163,176,163,182,45, 163,176,163,177,32,201,250,178,250,199,248,162,241,163,176,163,177,32,201,250,178,250,207, 223,162,242,163,176,163,177},随后将数值序列p中元素逐个依次转换成8位二进制,得到二进制序列 pb={1,1,0,1,0,1,1,0,1,1,0,1,0,0,0,0,1,0,1,1,1,0,0,1,1,1,1,1,1,0,1,0,0,0,1,0,0,0,0,0,1,0,1,1,1,1,0,1, 1,0,1,0,1,1,0,1,1,1,0,0,1,0,1,1,1,1,0,1,0,1,0,1,1,1,0,0,1,0,1,0,1,0,1,0,0,0,0,1,1,1,0,0,0,1,0,0,1,1,0, 0,1,1,1,1,1,1,0,0,1,1,0,1,1,0,1,0,1,0,0,0,1,1,0,0,1,0,1,0,1,1,0,1,0,0,0,0,1,0,1,1,0,0,1,1,1,1,1,0,0,1, 1,1,1,0,1,1,0,1,0,0,1,0,1,0,1,0,0,0,1,1,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,1,0,0,0,0,0,1,0,1,0,0,0,1,1,1, 0,1,0,0,0,1,1,1,0,1,0,0,0,1,1,1,0,1,0,0,0,1,1,1,0,1,1,1,1,0,0,1,0,1,0,1,1,1,1,1,1,0,0,1,1,0,1,1,1,0,0, 0,1,0,1,1,0,1,
0,0,0,0,1,1,1,0,0,0,0,0,1,1,0,1,0,0,0,0,1,1,1,0,0,0,0,0,1,1,1,0,1,0,1,1,1,1,1,0,1,0,0,1, 1,1,0,1,1,1,0,0,1,1,0,1,0,1,0,1,1,1,1,0,0,1,0,1,1,1,0,1,1,1,1,1,0,1,0,1,0,0,0,0,1,1,1,1,0,1,1,1,0,1,0, 1,0,0,0,0,1,1,1,1,0,1,1,1,0,1,1,0,0,1,1,1,1,1,0,1,1,0,1,0,1,1,1,0,0,0,0,0,1,1,1,0,1,0,0,0,0,0,0,1,0,1, 0,1,0,0,0,1,0,1,0,1,0,0,0,1,0,1,0,1,0,0,0,1,0,1,0,1,0,1,1,0,0,1,0,0,1,1,1,0,0,1,1,0,0,1,1,0,0,0,1,1,0, 1,0,1,1,0,1,1,1,0,0,1,0,0,0,0,0,1,1,0,0,1,0,0,1,1,1,1,1,1,0,1,0,1,0,1,1,0,0,1,0,1,1,1,1,1,0,1,0,1,1,0, 0,1,0,0,0,1,1,0,1,0,1,0,1,1,1,0,0,0,1,1,0,1,1,0,1,1,0,1,0,1,0,1,0,0,0,1,1,1,0,1,1,0,0,1,0,1,0,1,0,0,0, 1,1,1,0,1,1,0,0,0,0,1,0,1,0,0,0,1,1,1,0,1,1,0,0,1,0,1,0,1,0,0,0,1,1,1,0,1,1,0,0,0,1,0,0,1,0,1,1,0,1,1, 0,1,0,0,0,1,1,1,0,1,1,0,0,0,0,1,0,1,0,0,0,1,1,1,0,1,1,0,1,1,0,0,0,1,0,1,1,0,1,1,0,1,0,0,0,1,1,1,0,1,1, 0,0,0,0,1,0,1,0,0,0,1,1,1,0,1,1,0,0,0,1,0,0,1,0,0,0,0,0,1,1,0,0,1,0,0,1,1,1,1,1,1,0,1,0,1,0,1,1,0,0,1, 0,1,1,1,1,1,0,1,0,1,1,0,0,0,1,1,1,1,1,1,1,1,0,0,0,1,0,1,0,0,0,1,0,1,1,1,1,0,0,0,1,1,0,1,0,0,0,1,1,1,0, 1,1,0,0,0,0,1,0,1,0,0,0,1,1,1,0,1,1,0,0,0,1,0,0,1,0,0,0,0,0,1,1,0,0,1,0,0,1,1,1,1,1,1,0,1,0,1,0,1,1,0, 0,1,0,1,1,1,1,1,0,1,0,1,1,0,0,1,1,1,1,1,1,0,1,1,1,1,1,1,0,1,0,0,0,1,0,1,1,1,1,0,0,1,0,1,0,1,0,0,0,1,1, 1,0,1,1,0,0,0,0,1,0,1,0,0,0,1,1,1,0,1,1,0,0,0,1},其中商品标识码字符串的长度表示为数值序列p的长度为二进制序列pb的长度为
[0138]
同时根据该批商品的数量9999999,设置一定长度为7的商品生产序号,范围为

0000001’~

9999999’,当商品生产序号为

1234567’时逐个字符转换为数值型数据,得到数值序列数值序列
[0139]
(2)某批商品的统一加密——生成统一密文图片
[0140]
首先,利用外部加密密钥(α=0.12345,β=6.54321),按照如下公式分别计算得到混沌系统的初值x1、参数λ、抽取间隔δ,令
[0141][0142]
则可得,
[0143]
x1=mod(0.155409047136349+0.12345,0.99)+0.01=0.288859047136349,
[0144]
λ=2+mod(0.155409047136349+6.54321,53)=8.698619047136349,
[0145]
δ=mod(35095286365,79)+1=17,
[0146]
由初值x1、参数λ,对chebyshev混沌系统进行迭代,得到混沌序列x,从第17个元素开始每隔17个元素取1个,从而形成长度为896的混沌序列y,然后将混沌序列y分割成两部分,从而得到长度为888的混沌序列y1={y1,y2,...,y
887
,y
888
},以及长度为8的混沌序列y2={y
889
,y
890
,...,y
895
,y
896
} ={0.994930449033296,0.663373586030574,-0.880992053285621,0.724754309219057,0.037323107944107,
ꢀ‑
0.949964531903495,0.273156713931697-0.169891844023949};
[0147]
然后,将混沌序列y1按降序排序,根据序列y1排序前、后的位置变化置乱规则,对二进制序列pb进行置乱,得到置乱后的二进制序列
[0148][0149]
最后,统一密文图片的生成
[0150]

确定灰度图片的大小,令表征灰度图片的矩阵m为方阵,且矩阵m的行数h和列数l为相应的表征灰度图片矩阵m的三维二进制矩阵mb,且矩阵mb的行数为h、列数为l、层数为8,
[0151]

判断不等式11
×
11>111成立,则生成一个长度为8
×
11
×
11-8
×
111=80、各元素均为二进制
‘1’
的二进制序列fb={fb1,fb2,...,fb
80
}={1,...,1,...,1},并将置乱后的二进制序列和二进制序列fb进行组合,得到组合二进制序列和二进制序列fb进行组合,得到组合二进制序列
[0152]

将混沌序列y2按升序排序,得到置乱后的混沌序列将混沌序列y2按升序排序,得到置乱后的混沌序列将混沌序列y2按升序排序,得到置乱后的混沌序列根据序列y2排序前、后的位置变化置乱顺序,得到矩阵mb的分层填放规则,表示为同时得到矩阵mb每一层的定位方向参数分别为 pd1=1,pd2=1,pd3=1,pd4=1,pd5=2,pd6=5,pd7=5,pd8=2,
[0153]

按照自定义的三维二进制矩阵mb数据分层填放规则,将组合二进制序列bb中元
素逐层填放入三维二进制矩阵mb中,即
[0154]
将二进制序列{bb1,...,bb
121
}中数据依次填放入矩阵mb的第1层中,从矩阵mb的第1层最左上角位置开始每列从上往下、逐列由左往右填放数据,
[0155]
将二进制序列{bb
122
,...,bb
242
}中数据依次填放入矩阵mb的第4层中,从矩阵mb的第4层最左上角位置开始每列从上往下、逐列由左往右填放数据,
[0156]
将二进制序列{bb
243
,...,bb
363
}中数据依次填放入矩阵mb的第2层中,从矩阵mb的第2层最左上角位置开始每列从上往下、逐列由左往右填放数据,
[0157]
将二进制序列{bb
364
,...,bb
484
}中数据依次填放入矩阵mb的第7层中,从矩阵mb的第7层最左上角位置开始每列从上往下、逐列由左往右填放数据,
[0158]
将二进制序列{bb
485
,...,bb
605
}中数据依次填放入矩阵mb的第5层中,从矩阵mb的第5层最右上角位置开始每行从右往左、逐行由上往下填放数据,
[0159]
将二进制序列{bb
606
,...,bb
726
}中数据依次填放入矩阵mb的第8层中,从矩阵mb的第8层最左下角位置开始每列从下往上、逐列由左往右填放数据,
[0160]
将二进制序列{bb
727
,...,bb
847
}中数据依次填放入矩阵mb的第3层中,从矩阵mb的第3层最左下角位置开始每列从下往上、逐列由左往右填放数据,
[0161]
将二进制序列{bb
848
,...,bb
968
}中数据依次填放入矩阵mb的第6层中,从矩阵mb的第6层最右上角位置开始每行从右往左、逐行由上往下填放数据,
[0162]
由三维二进制矩阵mb继而得到数值矩阵m,表示如下,
[0163][0164]
将矩阵m转换为灰度图片,得到该批商品的统一密文图片c,其中统一密文图片c的大小为11
×
11;
[0165]
(3)某批商品的批量加密——批量生成单件商品的防伪图片
[0166]
根据该批商品中各件商品生产序号的不同,分别执行单件商品的防伪图片生成步骤,即可实现该批商品的防伪图片批量生成,取该批商品中生产序号分别为0000001、0000011、0000111、0001111、0011111、 0111111、1111111的七件商品,各件商品生成的防伪图片过程中的相关数据如表1所示;
[0167]
(4)将该批商品的批量商品标识码

中国江苏省南通市崇川区##集团
××
子公司
☆☆
系列**** 商品生产日期2021-06-01生产区ⅰ01生产线ⅱ01’、单件商品的商品生产序号和该件商品的防伪图片cc三者组合,并利用二维码生成器,同样取该批商品中生产序号分别为0000001、0000011、 0000111、0001111、0011111、0111111、1111111的七件商品,各件
商品生成的防伪二维码如表1所示;
[0168]
表1同批商品中各件商品防伪二维码的生成结果
[0169]
[0170]
[0171][0172]
由此可见,此方法生成的各件商品防伪图片均是杂乱无章的、没有原始数据的任何痕迹,且同批商品的防伪图片之间也无规律可循,相应的商品二维码同样具有“唯一性和不可伪造性”,因此该方法对于商品防伪二维码的批量生成具有可行性和安全性。
[0173]
实施例2
[0174]
按照上述基于字符串转图片加密的商品防伪二维码批量生成方法,密钥及其防伪二维码批量生成步骤与具体实施例1相似,仅批量商品标识码发生微变:如

中国冮苏省南通市崇川区##集团
××
子公司
☆☆
系列****商品生产日期2021-06-01生产区ⅰ01生产线ⅱ01’;或

中国江苏省南通市崇川区##集团
×☆
子公司
☆☆
系列****商品生产日期2021-06-01生产区ⅰ01生产线
ⅱꢀ
01’;或

中国江苏省南通市崇川区##集团
××
子公司
☆☆
系列****商品生产日期2021-06
‑ꢀ
01生产区ⅰ01生产线ⅱ11’,同样取各批商品中生产序号分别为0000001、0000011、0000111、 0001111、0011111、0111111、1111111的七件商品,生成的单件商品防伪图片、防伪二维码结果如表2所示。由表2可见:批量商品标识码的细微变化会引起商品防伪图片、商品防伪二维码发生很大的变化,由此可见本专利所提一种基于字符串转图片加密的商品防伪二维码批量生成方法对某批商品的身份信息(即批量商品标识码)具有敏感性。
[0175]
表2批量商品标识码发生微变时,商品防伪二维码的生成结果
[0176]
[0177]
[0178]
[0179][0180]
实施例3
[0181]
按照上述基于字符串转图片加密的商品防伪二维码批量生成方法,批量商品身份码和防伪二维码批量生成步骤与具体实施例2相似,仅某个密钥发生细微变化:α=0.12345000000001;或β=6.54321000000001,商品防伪图片、防伪二维码的生成结果如表3所示。由下表可见:一旦密钥发生即使细微的变化,即“失之毫厘”,生成的商品防伪图片及其相应的防伪二维码会“差之千里”,由此可见本专利所提一种基于字符串转图片加密的商品防伪二维码批量生成方法具有密钥敏感性。
[0182]
表3密钥发生微变时,商品防伪二维码的生成结果
[0183]
[0184]
[0185][0186]
由上述具体实施例1、例2和例3分析可知,本专利所提一种基于字符串转图片加密的商品防伪二维码批量生成方法生成的商品防伪二维码不仅与某批商品的身份信息(即批量商品身份码)、密钥密切相关,而且依赖于单件商品生产序号,因此本专利所提的一种基于字符串转图片加密的商品防伪码批量生成方法简单可行,具有很强的安全性,以保证批量生成的商品防伪二维码具有“唯一性和不可伪造性”。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1