1.一种垃圾分类二维码批量生成方法,其特征在于,包括如下几个步骤:(1)编码、转码
首先,将某批垃圾袋的身份信息进行编码,包括某批垃圾袋的统一身份码、单件垃圾袋的批量身份码两部分,从而生成某批单件垃圾袋唯一的中英文字符型垃圾袋身份码,表示为M1M2...MkMk+1Mk+2...Mk+LMk+L+1Mk+L+2...Mk+L+pMk+L+p+1Mk+L+p+2...Mk+L+p+nMk+L+p+n+1Mk+L+p+n+
2Mk+L+p+n+3Mk+L+p+n+4,其中M1M2...Mk为省市区,Mk+1Mk+2...Mk+L为具体居住地址,Mk+L+1Mk+L+
2...Mk+L+p为联系人和联系电话,Mk+L+p+1Mk+L+p+2...Mk+L+p+n为制码时间(格式为年-月-日,其中最后两位Mk+L+p+n-1Mk+L+p+n为日期),Mk+L+p+n+1Mk+L+p+n+2为垃圾分类颜色信息(表征垃圾类别),Mk+L+p+n+3Mk+L+p+n+4为垃圾分类序号信息(表征某天某种类别垃圾袋的序号),相互用英文空格间隔,相应某批垃圾袋的统一身份码为M1M2...MkMk+1Mk+2...Mk+LMk+L+1Mk+L+2...Mk+L+pMk+L+p+
1Mk+L+p+2...Mk+L+p+n-3Mk+L+p+n-2,相应单件垃圾袋的批量身份码为Mk+L+p+n-1Mk+L+p+nMk+L+p+n+
1Mk+L+p+n+2Mk+L+p+n+3Mk+L+p+n+4,然后,从某批垃圾袋的统一身份码中抽取出身份标识码(M1M2...MkMk+L+p+1Mk+L+p+
2...Mk+L+p+n-2)和身份隐藏码(Mk+1Mk+2...Mk+LMk+L+1Mk+L+2...Mk+L+p),并将身份标识码逐个字符转换成数值型数据,得到对应的数值序列 同时将身份隐藏码逐个字符转换成数值型数据[Pi1,Pi2],得到高位数值序列P1={P11,P12,...,P1L+p,P1L+p+1}={P11,P21,...,P(L+p)1,P(L+p+1)1}和低位数值序列P2={P21,P22,...,P2L+p,P2L+p+1}={P12,P22,...,P(L+p)2,P(L+p+1)2},最后,依次将数值序列S中元素Si逐个转换成8bits的二进制序列{BSi1,BSi2,BSi3,BSi4,BSi5,BSi6,BSi7,BSi8}、将数值序列P1中元素P1i逐个转换成8bits的二进制序列{BP1i1,BP1i2,BP1i3,BP1i4,BP1i5,BP1i6,BP1i7,BP1i8}、将数值序列P2中元素P2i逐个转换成8bits的二进制序列{BP2i1,BP2i2,BP2i3,BP2i4,BP2i5,BP2i6,BP2i7,BP2i8},并将 个二进制序列{BSi1,BSi2,BSi3,BSi4,BSi5,BSi6,BSi7,BSi8}进行组合,其中i=1,2,..., 从而得到组合二进制矩阵B,
同时将L+p+1个二进制序列{BP1i1,BP1i2,BP1i3,BP1i4,BP1i5,BP1i6,BP1i7,BP1i8}进行组合,其中i=1,2,...,L+p,L+p+1,从而得到高位组合二进制序列B1={B11,B12,...,B18L+8p+7,B18L+8p+8}={BP111,BP112,BP113,BP114,BP115,BP116,BP117,BP118,BP121,BP122,...,BP127,BP128,...,BP1i1,BP1i2,...,BP1i7,BP1i8,...,BP1L+p+11,BP1L+p+12,BP1L+p+13,BP1L+p+14,BP1L+p+15,BP1L+p+16,BP1L+p+17,BP1L+p+18},并将L+p+1个二进制序列{BP2i1,BP2i2,BP2i3,BP2i4,BP2i5,BP2i6,BP2i7,BP2i8}进行组合,其中i=1,2,...,L+p,L+p+1,从而得到低位组合二进制序列B2={B21,B22,...,B28L+8p+7,B28L+8p+8}={BP211,BP212,BP213,BP214,BP215,BP216,BP217,BP218,BP221,BP222,...,BP227,BP228,...,BP2i1,BP2i2,...,BP2i7,BP2i8,...,BP2L+p+11,BP2L+p+12,BP2L+p+13,BP2L+p+14,BP2L+p+15,BP2L+p+16,BP2L+p+17,BP2L+p+18},其中垃圾袋身份码包括GB2312字符集中双字节编码的汉字和ASCLL码值∈[32,126]的可见字符,垃圾袋身份码长度为k+L+p+n+6,数值序列S的长度为数值序列P1、P2的长度为L+p+1,组合二进制矩阵B的大小为 组合二进制序列B1、B2的长度为8L+8p+8;
(2)某批垃圾袋的身份隐藏码统一加密
某批垃圾袋的身份隐藏码统一加密,表示利用身份标识码(M1M2...MkMk+L+p+1Mk+L+p+
2...Mk+L+p+n-2)对身份隐藏码(Mk+1Mk+2...Mk+LMk+L+1Mk+L+2...Mk+L+p)进行加密,某批垃圾袋需且仅需经历一次身份隐藏码统一加密运算,首先,利用数值序列S及其转换成的二进制矩阵B,数值序列P1、P2转换成的二进制序列B1、B2,以及外部密钥α和β,按照如下(1)-(5)公式分别计算得到Logistic混沌映射的初值x1和参数μ、抽取开始位置m,以及抽取间隔数n1、n2,令 则
x1=α+mod(α+kp,1-α), (1)μ=β+mod(β+1.5×kp,4-β), (2)其中,
然后,将混沌信号序列Y按降序排序,根据混沌信号序列Y排序前、后的位置变化置乱规则,对高位组合二进制序列B1进行置乱,得到置乱后高位二进制序列同时将混沌信号序列Z按降序排序,根据混沌信号序列Z
排序前、后的位置变化置乱规则,对低位组合二进制序列B2进行置乱,得到置乱后低位二进制序列接着,令LB=mod(6-mod(8L+8p+8,6),6),将置乱后高位二进制序列 的末尾添加LB个二进制位‘0’,将置乱后低位二进制序列 的末尾添加LB个二进制位‘1’,得到二进制序列和二进制序列其中
对二进制序列 和 分别进行分组,将二进制序列 中元素从头到尾依次正向以6个元素为单位进行分组,得到分组后的二进制序列,表示为BF1{1},BF1{2},...,BF1{i},...
同时将二进制序列 中元素从头到尾依次正向以6个元素为单位进行分组,得到分组后的二进制序列,表示为BF2{1},BF2{2},...,BF2{i},... 其中每一个二进制分组序列均包含6个二进制位,且
最后,将每一个二进制分组序列BF1{i}、BF2{i},依次进行如下扩散操作:S0:令i=1,且
k1_switch=mod(3×
k2_switch=mod(3×〈B21,B22,...,B28L+8p+7,B28L+8p+8>-2×(8L+8p+8-
S1:将二进制分组序列BF1{i}、BF2{i},按如下公式(7)、(8)进行计算,CP1i=bin2dec(BF1{i})+176+k1_switch, (7)CP2i=bin2dec(BF2{i})+161+k2_switch, (8)S2:利用二进制分组序列BF1{i}计算而得的数值型数据CP1i,以及二进制分组序列BF2{i}计算而得的数值型数据CP2i,计算k1_switch=mod(CP1i+2×CP2i+3×k1_switch,8)、k2_switch=mod(CP2i+2×CP1i+3×k2_switch,25),且令i=i+1,接着判断i的大小,如果则转入步骤S1,否则转入步骤S3,
S3:结束二进制分组序列的扩散操作,从而得到扩散后的数值序列CP1和CP2,即某批垃圾袋的身份隐藏码的加密信息,表示为
(3)某批垃圾袋的垃圾分类号批量生成
根据该批垃圾袋中单件垃圾袋的批量身份码(各个垃圾分类码制码日期、垃圾类别、垃圾分类序号信息)的不同,分别执行单个垃圾分类号生成步骤,即可实现该批垃圾袋的垃圾分类号批量生成,其中单件垃圾袋的垃圾分类号生成步骤描述如下,首先,从垃圾袋身份码中抽取出垃圾分类码的制码日期(Mk+L+p+n-1Mk+L+p+n)、垃圾类别(Mk+L+p+n+1Mk+L+p+n+2)、垃圾分类序号信息(Mk+L+p+n+3Mk+L+p+n+4),将制码日期逐个字符利用bin2dec()函数转换成数值型数据,得到数值序列R={R1,R2},将垃圾分类序号信息逐个字符利用bin2dec()函数转换成数值型数据,得到数值序列F={F1,F2},然后,按照如下(9)、(10)公式分别计算得到Logistic混沌映射的初值 和参数令 则
由混沌映射的初值 和外部密钥 对如下公式(11)所示Logistic混沌映射进行迭代,式中k表示迭代次数(k=1,2,...)、 表示第k次迭代得到的混沌信号,得到混沌信号序列 从序列 中第m个元素开始依次间隔n1个元素取1个元素以形成长度为 的混沌信号序列 同时从序列 中第m个元素开始依次间隔n2个元素取1个元素以形成长度为 的混沌信号序列
接着,根据垃圾类别(Mk+L+p+n+1Mk+L+p+n+2)对某批垃圾袋的身份隐藏码加密信息,数值序列CP1、CP2采取如下操作,如果Mk+L+p+n+1Mk+L+p+n+2=“01”,则将混沌信号序列 按升序排序,根据混沌信号序列 排序前、后的位置变化置乱规则,对数值序列CP1进行置乱,得到置乱后的数值序列同时将混沌信号序列 按升序排序,根据混沌信号序列 排序
前、后的位置变化置乱规则,对低位组合二进制序列CP2进行置乱,得到置乱后的数值序列如果Mk+L+p+n+1Mk+L+p+n+2=“02”,则将混沌信号序列 按升序排序,根据混沌信号序列 排序前、后的位置变化置乱规则,对数值序列CP1进行置乱,得到置乱后的数值序列同时将混沌信号序列 按降序排序,根据混沌信号序列 排序
前、后的位置变化置乱规则,对低位组合二进制序列CP2进行置乱,得到置乱后的数值序列如果Mk+L+p+n+1Mk+L+p+n+2=“03”,则先将混沌信号序列 重组,得重组后的混沌信号序列再将混沌信号序列 按降序排序,根据混沌信号序列 排序前、后的位置变化置乱规则,对数值序列CP1进行置乱,得到置乱后的数值序列 同时将混沌信号序列 按升序排序,根据混沌信号
序列 排序前、后的位置变化置乱规则,对低位组合二进制序列CP2进行置乱,得到置乱后的数值序列
如果Mk+L+p+n+1Mk+L+p+n+2=“04”,则先将混沌信号序列 重组,得重组后的混沌信号序列再将混沌信号序列 按降序排序,根据混沌信号序列 排序前、后的位置变化置乱规则,对数值序列CP1进行置乱,得到置乱后的数值序列 同时先将混沌信号序列 重组,得重组后的混沌信
号序列 再将混沌信号序列 按降序排序,
根据混沌信号序列 排序前、后的位置变化置乱规则,对低位组合二进制序列CP2进行置乱,得到置乱后的数值序列
其中, 运算表示得到一个不大于 的整数,
最后,将数值序列
逐个元素组合并
转换为汉字字符,得到汉字序列 即为垃圾分类号,其中汉字序列C的长度为
根据该批垃圾袋中单个垃圾分类号生成过程,依次进行该批垃圾袋的各个垃圾分类号的生成;
(4)某批垃圾袋的垃圾分类码组合与垃圾分类二维码生成
将垃圾袋身份标识码(M1M2...MkMk+L+p+1Mk+L+p+2...Mk+L+p+n-2)、制码日期(Mk+L+p+n-
1Mk+L+p+n)、垃圾分类号 垃圾类别(Mk+L+p+n+1Mk+L+p+n+2)、垃圾分类序号信息(Mk+L+p+n+3Mk+L+p+n+4)进行组合,生成该批垃圾袋中单个垃圾分类码,接着生成QR Code,即垃圾分类二维码,按此规则可批量组合生成该批垃圾袋的垃圾分类二维码。
2.根据权利要求1所述的一种垃圾分类二维码批量生成方法,其特征在于:步骤(1)中所述的将身份标识码逐个字符转换成数值型数据,是指将身份标识码逐个字符采用unicode2native()函数将ASCII码值属于[32,126]的可见字符转换为单个数值型数据,或将GB2312字符集中双字节编码的汉字转换为两个数值型数据,从而得到对应的数值序列
3.根据权利要求1所述的一种垃圾分类二维码批量生成方法,其特征在于:步骤(1)中所述的将身份隐藏码逐个字符转换成数值型数据[Pi1,Pi2],是指将身份隐藏码逐个字符采用unicode2native()函数将ASCII码值属于[32,126]的可见字符转换为单个数值型数据并进行重组,表示为[Pi1,Pi2]=[0,unicode2native(Mi)],或将GB2312字符集中双字节编码的汉字转换为两个数值型数据,表示为[Pi1,Pi2]=unicode2native(Mi),从而得到高位数值序列P1={P11,P12,...,P1L+p,P1L+p+1}={P11,P21,...,P(L+p)1,P(L+p+1)1}和低位数值序列P2={P21,P22,...,P2L+p,P2L+p+1}={P12,P22,...,P(L+p)2,P(L+p+1)2}。
4.根据权利要求1所述的一种垃圾分类二维码批量生成方法,其特征在于:步骤(1)中所述的将数值序列S中元素Si逐个转换成8bits的二进制序列{BSi1,BSi2,BSi3,BSi4,BSi5,BSi6,BSi7,BSi8},是指采用dec2bin(Si,8)函数得到二进制序列{BSi1,BSi2,BSi3,BSi4,BSi5,BSi6,BSi7,BSi8}。
5.根据权利要求1所述的一种垃圾分类二维码批量生成方法,其特征在于:步骤(1)中所述的将数值序列P1中元素P1i逐个转换成8bits的二进制序列{BP1i1,BP1i2,BP1i3,BP1i4,BP1i5,BP1i6,BP1i7,BP1i8},是指采用dec2bin(P1i,8)函数得到二进制序列{BP1i1,BP1i2,BP1i3,BP1i4,BP1i5,BP1i6,BP1i7,BP1i8}。
6.根据权利要求1所述的一种垃圾分类二维码批量生成方法,其特征在于:步骤(1)中所述的将数值序列P2中元素P2i逐个转换成8bits的二进制序列{BP2i1,BP2i2,BP2i3,BP2i4,BP2i5,BP2i6,BP2i7,BP2i8},是指采用dec2bin(P2i,8)函数得到二进制序列{BP2i1,BP2i2,BP2i3,BP2i4,BP2i5,BP2i6,BP2i7,BP2i8}。
7.根据权利要求1所述的一种垃圾分类二维码批量生成方法,其特征在于:步骤(3)中所述的将数值序列
逐个元素组合
并转换为汉字字符,是指先逐个元素组合[CP1i,CP2i],然后再转换为汉字字符,即Ci=native2unicode([CP1i,CP2i])。
8.根据权利要求1所述的一种垃圾分类二维码批量生成方法,其特征在于:步骤(4)中所述的将垃圾袋身份标识码(M1M2...MkMk+L+p+1Mk+L+p+2...Mk+L+p+n-2)、制码日期(Mk+L+p+n-
1Mk+L+p+n)、垃圾分类号 垃圾类别(Mk+L+p+n+1Mk+L+p+n+2)、垃圾分类序号信息(Mk+L+p+n+3Mk+L+p+n+4)进行组合,生成该批垃圾袋中单个垃圾分类码,是指采用将垃圾袋身份标识码、制码日期、垃圾分类号、垃圾类别和垃圾分类序号信息插入连接的组合方式,生成该批垃圾袋中单个垃圾分类码,表示为M1M2...Mk Mk+L+p+1Mk+L+p+2...Mk+L+p+n-
2Mk+L+p+n-1Mk+L+p+nMk+L+p+n+1Mk+L+p+n+2Mk+L+p+n+3Mk+L+p+n+4,其中M1M2...Mk、 Mk+L+p+
1Mk+L+p+2...Mk+L+p+n-2Mk+L+p+n-1Mk+L+p+n、Mk+L+p+n+1Mk+L+p+n+2与Mk+L+p+n+3Mk+L+p+n+4之间相互用英文空格间隔。