1.一种基于字符串转图片加密的商品防伪码批量生成方法,其特征在于,包括如下几个步骤:
(1)转码
将表征某批商品唯一身份信息的批量商品标识码,即字符串 逐个字符转换为数值型数据,得到数值序列 随后将数值序列P中元素逐个转换成8位二进制,得到二进制序列
同时根据该批商品的数量K,设置一定长度的商品生产序号,即字符串 逐个字符转换为数值型数据,得到数值序列其中批量商品标识码来自于GBK编码的字符,批量商品标识码的长度表示为 数值序列P的长度为 二进制序列PB的长度为 且 商品生产序号的长度为 商品生产序号可表示的范围为 数值序 列 的长度为 且(2)某批商品的统一加密——生成统一密文图片首先,生成用于该批商品统一加密的混沌信号利用外部加密密钥(α,β),按照如下(1)‑(3)公式分别计算得到混沌系统的初值x1、参数λ、抽取间隔δ,令
则可得,
x1=mod(K_inner+α,0.99)+0.01, (1)λ=2+mod(K_inner+β,53), (2)其中,α∈(0,1),β∈(0,100),[{PB8i‑7,PB8i‑6,...,PB8i‑1,PB8i}]0表示统计二进制序列{PB8i‑7 ,PB8i ‑6 ,...,PB8i‑1 ,PB8i}中存在二进制‘0’的个数 ,表示统计二进制序列
中存在二进制‘1’的个数,
由初值x1、参数λ,对如下公式(4)所示的Chebyshev混沌系统进行迭代,k表示迭代次数,xk+1表示第k次迭代得到的混沌信号,其中k=1,2,…xk+1=cos(λ·arccos(xk)) (4)得到混沌序列 从混沌序列XX的第δ个元素开始每隔δ个元素取1个,从而形成长度为 的混沌序列 然后将混沌序列X分割成两部分,从而得到长度为 的混沌序列以及长度为8的混沌序列
然后,二进制序列PB的置乱
将混沌序列X1按降序排序,根据序列X1排序前、后的位置变化置乱规则,对二进制序列进行置乱,得到置乱后的二进制序列
最后,统一密文图片的生成
①确定灰度图片的大小,令表征灰度图片的矩阵M为方阵,且矩阵M的行数H和列数L为相应的表征灰度图片矩阵M的三维二进制矩阵MB,且矩阵MB的行数为H、列数为L、层数为8,
②判断不等式 是否成立,如成立,则生成一个长度为 各元素均为二进制‘1’的二进制序列 并将置乱后的二进制序列 和二进制序列FB进行组合,得到组合二进制序列如不成立,即 则直接得到组合二进制序列③将混沌序列X2按升序排序,得到置乱后的混沌序列 根据序列X2排序前、后的位置变化置乱规则,得到矩阵MB的分层填放顺序,表示为同时按照如下公式(5)计算可得矩阵MB中第 层的定位方向参数PDi,其中i=1,2,3,...,7,8,④按照自定义的三维二进制矩阵MB数据分层填放规则,将组合二进制序列BB中元素逐层填放入三维二进制矩阵MB中,由三维二进制矩阵MB继而得到数值矩阵M,从而生成该批商品的统一密文图片C,其中矩阵M的大小为H×L,统一密文图片C的大小为H×L;
(3)某批商品的批量加密——批量生成单件商品的防伪图片根据该批商品中各件商品生产序号的不同,分别执行单件商品的防伪图片生成步骤,即可实现该批商品的防伪图片批量生成,其中单件商品的防伪图片生成步骤描述如下,首先,生成该批单件商品加密的混沌信号利用该批商品统一加密时混沌系统的初值x1,根据该批商品中该件商品的商品生产序号,以及其转换的数值序列 按照如下公式(6)所示计算得到该批商品中该件商品加密时混沌系统的初值y1,
由初值y1、参数λ,对如下公式(7)所示的Chebyshev混沌系统进行迭代,k表示迭代次数,yk+1表示第k次迭代得到的混沌信号,其中k=1,2,…,yk+1=cos(λ·arccos(yk)) (7)得到混沌序列YY={y1,y2,...,y1001,y1002,...,y1000+H×L,...},从第1001个元素开始连续取H×L个,从而形成长度为H×L的混沌序列Y={Y1,Y2,Y3,...,YH×L‑1,YH×L}={y1001,y1002,...,y1000+H×L},然后,将混沌序列Y中元素逐一进行如下公式(8)所示的运算处理,得到处理后的混沌序列
最后,将数值矩阵M中元素与混沌序列 中相应元素分别进行按位异或操作,得到数值矩阵 表示如下,
由数值矩阵 从而生成该批商品中该件商品的防伪图片CC,其中矩阵 的大小为H×L,防伪图片CC的大小为20H×20L;
(4)某批商品的商品防伪二维码生成将某批商品的批量商品标识码、单件商品的商品生产序号和该件商品的防伪图片CC三者组合,并利用二维码生成器,生成该批商品中单件商品的防伪二维码,按此规则可批量组合生成该批商品的防伪二维码。
2.根据权利要求1所述的一种基于字符串转图片加密的商品防伪码批量生成方法,其特征在于,步骤(1)中所述的将表征某批商品唯一身份信息的批量商品标识码,即字符串逐个字符转换为数值型数据,是指将商品标识码,即字符串 中字符逐个采用unicode2native(·)函数转换为数值型数据,即对于双字节字符的转换表示为对于单字节字符的转换表示为 从而得到数值序列
3.根据权利要求1所述的一种基于字符串转图片加密的商品防伪码批量生成方法,其特征在于,步骤(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),其中 从而得到二进制序列
4.根据权利要求1所述的一种基于字符串转图片加密的商品防伪码批量生成方法,其特征在于,步骤(1)中所述的设置一定长度的商品生产序号,即字符串 逐个字符转换为数值型数据,是指将商品生产序号,即字符串 中字符逐个采用unicode2native(·)函数转换为数值型数据,即 其中从而得到数值序列
5.根据权利要求1所述的一种基于字符串转图片加密的商品防伪码批量生成方法,其特征在于,步骤(2)中所述的按照自定义的三维二进制矩阵MB数据分层填放规则,将组合二进制序列BB中元素逐层填放入三维二进制矩阵MB中,是指,对组合二进制序列BB中元素,以及三维二进制矩阵MB中第 层,依次进行如下操作:S10.令组合二进制序列BB的初始抽取位置Length_cj=1,且i=1;
S11.从组合二进制序列BB的第Length_cj个元素开始连续抽取H×L个元素,得到待填放的二进制序列 为{BBLength_cj,...,BBLength_cj+H×L‑1},同时判断矩阵MB中第 层的定位方向参数PDi的数值,
如果PDi=0,则将二进制序列 中数据依次填放入矩阵MB的第 层中,从矩阵MB的第层最左上角位置开始每行从左往右、逐行由上往下填放数据,如果PDi=1,则将二进制序列 中数据依次填放入矩阵MB的第 层中,从矩阵MB的第层最左上角位置开始每列从上往下、逐列由左往右填放数据,如果PDi=2,则将二进制序列 中数据依次填放入矩阵MB的第 层中,从矩阵MB的第层最右上角位置开始每行从右往左、逐行由上往下填放数据,如果PDi=3,则将二进制序列 中数据依次填放入矩阵MB的第 层中,从矩阵MB的第层最右上角位置开始每列从上往下、逐列由右往左填放数据,如果PDi=4,则将二进制序列 中数据依次填放入矩阵MB的第 层中,从矩阵MB的第层最左下角位置开始每行从左往右、逐行由下往上填放数据,如果PDi=5,则将二进制序列 中数据依次填放入矩阵MB的第 层中,从矩阵MB的第层最左下角位置开始每列从下往上、逐列由左往右填放数据,如果PDi=6,则将二进制序列 中数据依次填放入矩阵MB的第 层中,从矩阵MB的第层最右下角位置开始每行从右往左,逐行由下往上填放数据,如果PDi=7,则将二进制序列 中数据依次填放入矩阵MB的第 层中,从矩阵MB的第层最右下角位置开始每列从下往上、逐列由右往左填放数据,从而得到填放第 层数据后的三维二进制矩阵MB;
S12.比较i与8的大小,
若i<8,则令i=i+1,且Length_cj=Length_cj+H×L,随后转向步骤S11,若i=8,则停止操作,从而得到填放数据后的三维二进制矩阵MB,同时将三维二进制矩阵MB的对应8层二进制元素,分别采用运算M(i,j)=bin2dec(MB(i,j,:))转换为某个数值型数据并填入矩阵M中,其中i=1,2,...,H,j=1,2,...,L,继而可得数值矩阵M,表示如下,将矩阵M转换为灰度图片,得到该批商品的统一密文图片C,其中矩阵M的大小为H×L,统一密文图片C的大小也为H×L。
6.根据权利要求1所述的一种基于字符串转图片加密的商品防伪码批量生成方法,其特征在于,步骤(3)中所述的由数值矩阵 从而生成该批商品中该件商品的防伪图片CC,是指将数据矩阵 中各元素分别用小矩阵块代替,小矩阵块的矩阵大小为20×20、元素数值均与 中该元素数值一致,表示如下,将矩阵 转换为灰度图片,从而生成该批商品中该件商品的防伪图片CC,其中防伪图片CC的大小为20H×20L。
7.根据权利要求1所述的一种基于字符串转图片加密的商品防伪码批量生成方法,其特征在于,步骤(4)中所述的将某批商品的批量商品标识码、单件商品的商品生产序号和该件商品的防伪图片CC三者组合,是指将某批商品的批量商品标识码 和单件商品的商品生产序号 合并为一个字符串,表示为 生产序号随后将合并的字符串放在该件商品的防伪图片CC的正下方。