1.一种基于局部颜色校验的二维码编码方法,其特征在于,包括以下步骤:
(1)在二维码模板上,根据事先定义的染色区域编码解码表,随机生成染色区域数据,染色区域数据包括染色区域数量、各染色区域的形状、各染色区域的颜色;事先定义的染色区域编码解码表是指事先根据染色区域可能出现的形状和颜色分别建立的编码解码表,在形状编码解码表中,定义每一种形状对应一个数值,同样在颜色编码解码表中,定义每一种颜色对应一个数值,然后连同染色区域数量,建立<染色区域数量i,各染色区域形状S,各染色区域颜色C>的密钥向量;
(2)二维码原始信息包括需加密的隐藏信息和不需加密的明文信息,将需加密的隐藏信息以步骤(1)生成的染色区域数据作为密钥进行加密,然后将得到的加密后的隐藏信息和不需加密的明文信息进行拼合得到二维码生成信息;
(3)将步骤(2)得到的二维码生成信息通过二维码生成算法生成二维码黑白图像;
(4)根据步骤(1)所制定的二维码模板和生成的染色区域数据对步骤(3)得到的二维码黑白图像进行染色,最终得到局部彩色二维码图像。
2.根据权利要求1所述的基于局部颜色校验的二维码编码方法,其特征在于,所述步骤(2)中,把需加密的隐藏信息,以步骤(1)所生成的的密钥向量,根据现有公开双向加密算法进行加密,得到加密后的隐藏信息;
所述步骤(2)中,将明文信息和加密后的隐藏信息进行拼合采用如下的算法:第一种是采用分隔符,即把明文信息记为M1,加密后的隐藏信息记为M2,使用分隔符w进行拼接;第二种是采用插入拼接,即按照固定的插入位置把隐藏信息插入到明文信息里面;
所述步骤(3)中,将二维码生成信息生成二维码图像采用如下的二维码生成算法:PDF417、Datamatrix、Maxicode、QR Code、Code 49、Code 16K、Vericode或Ultracode。
3.一种基于局部颜色校验的二维码解码方法,其特征在于,包括以下步骤:
(1)根据事先定义的染色区域编码解码表,读取二维码图像上的染色区域数据,染色区域数据包括染色区域数量、各染色区域的形状、各染色区域的颜色;
(2)读取二维码图像,把局部染色的二维码图像中的有颜色区域作为黑色区域,然后将二维码图像当作标准黑白二维码图像,使用标准二维码解码算法进行解码;
(3)解码后的信息包括已加密的隐藏信息和未加密的明文信息,步骤如下:首先通过拆分算法将解码后的信息拆分为加密的隐藏信息和未加密的明文信息;再将已加密的隐藏信息以步骤(1)生成的染色区域数据作为密钥采用解密算法进行解密,最后得到二维码图像的原始信息。
4.根据权利要求3所述的基于局部颜色校验的二维码解码方法,其特征在于,所述步骤(3)中,将明文信息和加密后的隐藏信息进行拆分是根据编码算法中的拼合算法来决定的,如果是采用分隔符,则寻找进行明文和密文的拆分依据的分隔符,分隔符前后分别为明文数据和密文数据;如果是采用的插入拼接,则根据固定的插入位置,把隐藏信息和明文信息分别还原出来;
所述步骤(3)中,对步骤(2)所得到密文数据以染色区域数据为密钥通过标准的双向解密算法进行解密。
5.一种基于局部颜色校验的二维码编码装置,其特征在于,包括:
染色区域数据生成装置,用于在二维码模板中根据事先定义的染色区域编码解码表生成染色区域;
二维码生成装置,包括加密模块和二维码编码模块,所述加密模块与所述二维码编码模块连接,所述二维码生成装置与染色区域数据生成装置连接;加密模块,用于以染色区域数据为密钥对需加密的隐藏信息进行加密;二维码编码模块,用于将经加密的隐藏信息和未经加密的明文信息生成标准的二维码黑白图像;
二维码彩色图像生成装置,根据染色区域数据生成装置的数据对二维码生成装置生成的二维码黑白图像进行染色,得到局部染色的二维码彩色图像;
拼合模块,拼合模块用于将不需加密的明文信息和已加密的隐藏信息进行拼合,然后将拼合后的数据发送到二维码编码模块;所述拼合模块分别与加密模块、二维码编码模块连接。
6.一种基于局部颜色校验的二维码解码装置,其特征在于,包括:
二维码染色区域读取装置,用于根据事先定义的染色区域编码解码表读取二维码图像中染色区域数据;
二维码读取装置,包括:
读取模块,用于读取二维码图像;
二维码解码模块,用于对读取模块读取到的二维码图像信息进行解码;
解密模块,用于以染色区域数据为密钥对解码后加密的隐藏信息进行解密;
所述读取模块、二维码解码模块、解密模块依次连接;
拆分模块,用于将二维码解码模块解码后的信息拆分成不经加密的明文信息和经加密的隐藏信息;所述拆分模块分别与二维码解码模块、解密模块连接。