一种二维码编码方法和装置制造方法及图纸

技术编号:14677008 阅读:65 留言:0更新日期:2017-02-19 03:09
本发明专利技术提供了一种二维码编码方法和装置,其中,该方法包括:获取待编码的产品的产品编码;对产品编码进行加密和运算处理,得到纠缠字符串;对得到的纠缠字符串进行循环冗余校验码校验,得到产品编码的验证码;对得到的产品编码和验证码进行处理,得到作为产品的产品身份标识的二维码。本发明专利技术提供的二维码编码方法和装置,可以实现编码生产方独立产码、验证方独立鉴别、第三取证和验证等基本功能,保证安全防伪等级情况下,充分利用编码空间,减少所生成二维码所包含的字节,缩小二维码占用的面积。

【技术实现步骤摘要】

本专利技术涉及数据处理
,具体而言,涉及一种二维码编码方法和装置
技术介绍
目前,二维码作为一种信息的载体,越来越多的出现在日常生活中,如二维码被印在盛放矿泉水、牛奶或者其他液体的容器表面上,使得用户通过扫描容器表面的二维码,获取所购买产品的更多信息。在生成产品的二维码时,厂商会按照自定义算法生成产品编码,产品编码能够唯一地确定该产品,因为这是公开的编码,无法抵御假冒或伪造,也不能防止假冒厂商抵赖,所以必须在产品编码中附加签字码,以保证二维码的安全使用。相关技术中,现有的二维码的编码方法在进行编码时,为了保证二维码的保密性和安全性,为了实现第三方独立鉴别的能力以及签字可作为一次一密的动态因子,通常情况下使用非对称加密算法来生成二维码的签字码,同时采用单向算法和对称算法来获得安全强度高编码长度短的结果。在实现本专利技术过程中,专利技术人发现现有技术中至少存在如下问题:通过非对称加密算法得到的签字码包含的字节较多,一般都是8字节的倍数,不能用于液体容器等数字身份承载区域比较小的场景,而且由于容器表面为弧形,容易使二维码在容器表面产生弯曲,如果二维码占用面积较大还容易造成二维码可读性变差的缺陷。
技术实现思路
有鉴于此,本专利技术实施例的目的在于提供一种二维码编码方法和装置,以减少所生成二维码所包含的字节,缩小二维码占用的面积。第一方面,本专利技术实施例提供了一种二维码编码方法,包括:获取待编码的产品的产品编码;对所述产品编码进行处理,得到纠缠字符串;对得到的所述纠缠字符串进行循环冗余校验码校验,得到所述产品编码的验证码;对得到的所述产品编码和所述验证码进行处理,得到作为所述产品的产品身份标识的二维码。结合第一方面,本专利技术实施例提供了第一方面的第一种可能的实施方式,其中:对所述产品编码进行处理,得到纠缠字符串,包括:通过非对称加密算法对所述产品编码进行签名,得到所述产品编码的签字结果,并公开非对称算法的公钥和签字结果,作为第三方独立鉴别的原始数据之一,所述产品编码包括:产品种类编码和产品序列号;通过杂凑运算对所述产品编码进行特征提取,得到所述产品编码的数字指纹;对所述产品编码的签字结果和所述产品编码的数字指纹进行混合加密运算,得到纠缠字符串。结合第一方面,本专利技术实施例提供了第一方面的第二种可能的实施方式,其中:所述方法还包括:通过已编辑的Base64编码对所述产品身份标识进行编码,得到所述产品身份标识的HTTP字符串,其中,已编辑的所述Base64编码中第62号字符为“*”以及第63号字符为“-”;通过得到的所述产品身份标识和所述HTTP字符串,得到所述产品的编码图案。结合第一方面,本专利技术实施例提供了第一方面的第三种可能的实施方式,其中:在获取待编码的产品的产品编码之前,所述方法还包括:按照各个产品序列号生成的顺序,获取待使用的各个产品序列号;对排序后的所述各个产品序列号进行乱序,得到所述待使用的各个产品序列号的扰码序列;当获取到序列号使用指令时,从所述扰码序列中获取一个待使用的产品序列号;根据预设的产品与产品种类编码的对应关系,确定待编码的产品的产品种类编码;将确定的产品种类编码和获取的产品序列号进行组合,生成所述产品的产品编码。结合第一方面,本专利技术实施例提供了第一方面的第四种可能的实施方式,其中:对排序后的所述各个产品序列号进行乱序,得到所述待使用的各个产品序列号的扰码序列,包括:向排序后的所述各个产品序列号分配排序序号;根据预设的序列号分组所包括的产品序列号数量,对获取到的所述各个产品序列号进行分组;通过所述各个产品序列号分配到的所述排序序号和所述序列号分组所包括的产品序列号数量,计算得到所述各个产品序列号被分配到的序列号分组的分组标识;对计算得到的所述分组标识进行满射格式保留加密算法计算,得到与各所述分组标识对应的分组标识一次加密字符串;采用格式保留算法对分组标识一次加密字符串再次进行加密,得到与各所述分组标识对应的分组标识二次加密字符串;根据得到的与各所述分组标识对应的所述分组标识二次加密字符串,对各所述分组标识对应的序列号分组中的各产品序列号进行乱序操作,得到各产品序列号乱序操作后所在序列号分组中的乱序序号;根据得到的所述乱序序号,对各序列号分组中的产品序列号进行重新排序,得到待使用的各个产品序列号的扰码序列。第二方面,本专利技术实施例还提供一种二维码编码装置,包括:产品编码获取模块,用于获取待编码的产品的产品编码;字符串处理模块,用于对所述产品编码进行处理,得到纠缠字符串;验证码处理模块,用于对得到的所述纠缠字符串进行循环冗余校验码校验,得到所述产品编码的验证码;编码处理模块,用于对得到的所述产品编码和所述验证码进行处理,得到作为所述产品的产品身份标识的二维码。结合第二方面,本专利技术实施例提供了第二方面的第一种可能的实施方式,其中:所述字符串处理模块,包括:签名单元,用于通过非对称加密算法对所述产品编码进行签名,得到所述产品编码的签字结果,并公开非对称算法的公钥和签字结果,作为第三方独立鉴别的原始数据之一,所述产品编码包括:产品种类编码和产品序列号;特征提取单元,用于通过杂凑运算对所述产品编码进行特征提取,得到所述产品编码的数字指纹;计算单元,用于对所述产品编码的签字结果和所述产品编码的数字指纹进行混合加密运算,得到纠缠字符串。结合第二方面,本专利技术实施例提供了第二方面的第二种可能的实施方式,其中:所述装置还包括:网址编码模块,用于通过已编辑的Base64编码对所述产品身份标识进行编码,得到所述产品身份标识的HTTP字符串,其中,已编辑的所述Base64编码中第62号字符为“*”以及第63号字符为“-”;编码处理模块,用于通过得到的所述产品身份标识和所述HTTP字符串,得到所述产品的编码图案。结合第二方面,本专利技术实施例提供了第二方面的第三种可能的实施方式,其中:所述装置还包括:产品序列号获取模块,用于按照各个产品序列号生成的顺序,获取待使用的各个产品序列号;乱序模块,用于对排序后的所述各个产品序列号进行乱序,得到所述待使用的各个产品序列号的扰码序列;序列号获取模块,用于当获取到序列号使用指令时,从所述扰码序列中获取一个待使用的产品序列号;种类确定单元,用于根据预设的产品与产品种类编码的对应关系,确定待编码的产品的产品种类编码;产品编码生成单元,用于将确定的产品种类编码和获取的产品序列号进行组合,生成所述产品的产品编码。结合第二方面,本专利技术实施例提供了第二方面的第四种可能的实施方式,其中:所述乱序模块,包括:序号分配单元,用于向排序后的所述各个产品序列号分配排序序号;分组单元,用于根据预设的序列号分组所包括的产品序列号数量,对获取到的所述各个产品序列号进行分组;分组标识计算单元,用于通过所述各个产品序列号分配到的所述排序序号和所述序列号分组所包括的产品序列号数量,计算得到所述各个产品序列号被分配到的序列号分组的分组标识;第一加密单元,用于对计算得到的所述分组标识进行满射格式保留加密算法计算,得到与各所述分组标识对应的分组标识一次加密字符串;第二加密单元,用于采用格式保留算法对分组标识一次加密字符串再次进行加密,得到与各所述分组标识对应的分组标识二次加密字符串;乱序序号确定单元,用于根据得到的与各所述分组本文档来自技高网...
一种二维码编码方法和装置

【技术保护点】
一种二维码编码方法,其特征在于,包括:获取待编码的产品的产品编码;对所述产品编码进行处理,得到纠缠字符串;对得到的所述纠缠字符串进行循环冗余校验码校验,得到所述产品编码的验证码;对得到的所述产品编码和所述验证码进行处理,得到作为所述产品的产品身份标识的二维码。

【技术特征摘要】
1.一种二维码编码方法,其特征在于,包括:获取待编码的产品的产品编码;对所述产品编码进行处理,得到纠缠字符串;对得到的所述纠缠字符串进行循环冗余校验码校验,得到所述产品编码的验证码;对得到的所述产品编码和所述验证码进行处理,得到作为所述产品的产品身份标识的二维码。2.根据权利要求1所述的方法,其特征在于,对所述产品编码进行处理,得到纠缠字符串,包括:通过非对称加密算法对所述产品编码进行签名,得到所述产品编码的签字结果,并公开非对称算法的公钥和签字结果,作为第三方独立鉴别的原始数据之一,所述产品编码包括:产品种类编码和产品序列号;通过杂凑运算对所述产品编码进行特征提取,得到所述产品编码的数字指纹;对所述产品编码的签字结果和所述产品编码的数字指纹进行混合加密运算,得到纠缠字符串。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:通过已编辑的Base64编码对所述产品身份标识进行编码,得到所述产品身份标识的HTTP字符串,其中,已编辑的所述Base64编码中第62号字符为“*”以及第63号字符为“-”;通过得到的所述产品身份标识和所述HTTP字符串,得到所述产品的编码图案。4.根据权利要求1所述的方法,其特征在于,在获取待编码的产品的产品编码之前,所述方法还包括:按照各个产品序列号生成的顺序,获取待使用的各个产品序列号;对排序后的所述各个产品序列号进行乱序,得到所述待使用的各个产品序列号的扰码序列;当获取到序列号使用指令时,从所述扰码序列中获取一个待使用的产品序列号;根据预设的产品与产品种类编码的对应关系,确定待编码的产品的产品种类编码;将确定的产品种类编码和获取的产品序列号进行组合,生成所述产品的产品编码。5.根据权利要求4所述的方法,其特征在于,对排序后的所述各个产品序列号进行乱序,得到所述待使用的各个产品序列号的扰码序列,包括:向排序后的所述各个产品序列号分配排序序号;根据预设的序列号分组所包括的产品序列号数量,对获取到的所述各个产品序列号进行分组;通过所述各个产品序列号分配到的所述排序序号和所述序列号分组所包括的产品序列号数量,计算得到所述各个产品序列号被分配到的序列号分组的分组标识;对计算得到的所述分组标识进行满射格式保留加密算法计算,得到与各所述分组标识对应的分组标识一次加密字符串;采用格式保留算法对分组标识一次加密字符串再次进行加密,得到与各所述分组标识对应的分组标识二次加密字符串;根据得到的与各所述分组标识对应的所述分组标识二次加密字符串,对各所述分组标识对应的序列号分组中的各产品序列号进行乱序操作,得到各产品序列号乱序操作后所在序列号分组中的乱序序号;根据得到的所述乱序序号,对各序列号分组中的产品序列号进行重新排序,得到待使用的各个产品序列号的扰码序列。6.一种二维码编码装置,其特征在于,包括:产品编码获取模块,用于获取待编码的产品的产品编码;字符串处理模块,用于对所述产品编码进行处理,得到纠缠字符串;验...

【专利技术属性】
技术研发人员:陈雨霖
申请(专利权)人:成都天钥科技有限公司
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1