1.一种基于分层加密的商品防伪二维码生成方法,其特征在于,包括如下几个步骤:(1)转码首先,将表征某件商品唯一身份信息的商品标识码A,逐个字符转换为数值型数据,得到数值序列然后,依次将数值序列P中元素Pi逐个转换成8bits的二进制序列{PBi1,PBi2,PBi3,PBi4,PBi5,PBi6,PBi7,PBi8},并将个二进制序列{PBi1,PBi2,PBi3,PBi4,PBi5,PBi6,PBi7,PBi8}从左往右逐列填入矩阵B中,其中矩阵某行对应于各二进制序列的某位,从而得到组合二进制矩阵B,其中商品标识码A为GBK编码的字符,商品标识码A的长度表示为数值序列P的长度为组合二进制矩阵B的大小为且(2)混沌序列的产生首先,利用数值序列P及其转换的组合二进制矩阵B,以及外部密钥α和β,按照如下公式(1)‑(3)分别计算得到Bernoulli混沌映射的初值x1和参数λ以及初次抽取位置n,令则
x1=0.01+mod(α‑kp,0.99), (1)λ=0.1+mod(β+kp,0.9), (2)其中,表示组合二进制矩阵B中二进制位‘1’的个数,外部密钥满足α∈(0 ,1),β∈(0,1),表示对某数取整且取整后的值不大于该数,然后,由混沌映射的初值x1和参数λ,对如下公式(4)所示Bernoulli混沌映射进行迭代,式中k表示迭代次数,xk+1表示第k次迭代得到的混沌信号,k=1,2,...
得到混沌序列X={x1,x2,...},
(3)组合二进制矩阵B的分层移位加密首先,将组合二进制矩阵B中元素分为8层,其中组合二进制矩阵B的第k层表示为然后,利用混沌序列X={x1,x2,...},对组合二进制矩阵B,逐层进行如下操作:S10.令二进制矩阵为空矩阵,且i=1,S11.从混沌序列X中抽取第n个元素xn,按照如下公式(5)、(6)分别计算得到移位方向F_direction和移位个数F_number,S12.取组合二进制矩阵B的第i层,得到二进制序列接着判断移位方向F_direction的数值,如果F_direction=0,则将二进制序列循环左移,移位F_number个二进制,得到移位后的二进制序列如果F_direction=1,则将二进制序列循环右移,移位F_number个二进制,得到移位后的二进制序列随后,将二进制序列从左往右按序存入二进制矩阵的第i行,
S13.比较i与的大小,
若i <8 ,则对二进制序列进行分组,将二进制序列
最后,利用bin2dec(·)函数,依次将二进制矩阵的每列元素转换成数值型数据其中表示为从而得到数值序列(4)二维码的生成
首先,确定灰度图片的大小,令行数为H,列数为L,其中列数行数H满足如下,
其中,表示对某数取整且取整后的值不小于该数,
然后,按照自定义的矩阵数据填放规则,将数值序列中元素依次填放入表征灰度图片的矩阵M中,从而生成灰度图片C,其中矩阵M的大小为H×L,灰度图片C的大小为30H×30L,最后,将商品标识码A和生成的灰度图片C进行组合,并利用二维码生成器将组合的商品标识码和灰度图片转换为二维码,从而得到商品防伪二维码。2.根据权利要求1所述的一种基于分层加密的商品防伪二维码生成方法,其特征在于:步骤(1)中所述的将表征某件商品唯一身份信息的商品标识码A,逐个字符转换为数值型数据,是指将商品标识码A中逐个字符采用unicode2native(·)函数转换为数值型数据,即对于双字节字符的转换表示为对于单字节字符的转换表示为步骤(4)中所述的按照自定义的矩阵数据填放规则,将数值序列中元素依次填放入表征灰度图片的矩阵M中,是指按如下三个步骤进行:步骤1.判断数值序列的长度是否小于数值H×L,
如果是,则在数值序列的尾端增补上个元素,数值大小为0且最后一个元素大小为得到增补后的数值序列即如果不是,则令增补后的数值序列等于数值序列即
步骤2.从表征灰度图片的矩阵M的左上角位置开始,按行且每行从左往右,依次将增补后的数值序列中元素填放入矩阵M中,表示如下,步骤3.将矩阵M中各元素分别用小矩阵块代替,小矩阵块的矩阵大小为30×30、元素数值均与M中该元素数值一致,表示如下,将矩阵MC转换为灰度图片,从而生成灰度图片C,其中灰度图片C的大小为30H×30L。5.根据权利要求1所述的一种基于分层加密的商品防伪二维码生成方法,其特征在于:步骤(4)中所述的将商品标识码A和生成的灰度图片C进行组合,是指将生成的灰度图片C与商品标识码A上下连接的组合方式,即将商品标识码A放在生成的灰度图片C正下方。