一种二维码编码及解码方法

文档序号:8259648阅读:2932来源:国知局
一种二维码编码及解码方法
【技术领域】
[0001] 本发明涉及加密解密领域,尤其涉及一种二维码编码及解码方法。
【背景技术】
[0002] 二维码是用某种特定的几何图形按一定规律在平面(二维方向)分布的黑白相间 的图形记录数据符号信息的条码。二维码是DOI (Digital Object Unique Identifier,数 字对象唯一识别符)的一种。二维码是一种比一维码更高级的条码格式。一维码只能在一 个方向上表达信息,而二维码在水平和垂直方向都可以存储信息。一维码只能由数字和字 母组成,而二维码能存储汉字、数字和图片等信息,因此二维码的应用领域要广得多。
[0003] 在代码编制上巧妙地利用构成计算机内部逻辑基础的比特流的概念,使 用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描 设备自动识读以实现信息自动处理。二维码的每种码制有其特定的字符集;每个字符占有 一定的宽度;具有一定的校验功能等。同时还具有对不同行的信息自动识别功能及处理图 形旋转变化等特点。
[0004] 现有的二维码在编码的过程中通常没有进行加密,二维码中的信息可以被任何人 轻易获取,安全性较低。

【发明内容】

[0005] 本发明提供了一种二维码编码及解码方法,能够提高二维码的安全性。
[0006] 本发明提供了一种二维码编码方法,包括:
[0007] S1:将包含待编码的信息的字符串转换成初始字节数组;
[0008] S2:对所述初始字节数组进行加密,生成加密字节数组;
[0009] S3:将所述加密字节数组转换成包含二维码信息的字符串。
[0010] 进一步地,所述S2,包括:
[0011] S21:将所述初始字节数组拆分成第一字节数组和第二字节数组;
[0012] S22:对所述第一字节数据和所述第二字节数据分别进行数据置换,得到第三字节 数组和第四字节数组;
[0013] S23:对所述第三字节数组和所述第四字节数组进行拼接,得到所述加密字节数 组。
[0014] 进一步地,所述S21,包括:
[0015] 将A的abl,el位置中的比特值填充到X的Xt位置中,获取X,其中,t = 0, 1,…,4n-l, t为整数,
【主权项】
1. 一种二维码编码方法,其特征在于,包括: 51 :将包含待编码的信息的字符串转换成初始字节数组; 52 :对所述初始字节数组进行加密,生成加密字节数组; 53 :将所述加密字节数组转换成包含二维码信息的字符串。
2. 根据权利要求1所述的方法,其特征在于,所述S2,包括: 521 :将所述初始字节数组拆分成第一字节数组和第二字节数组; 522 :对所述第一字节数据和所述第二字节数据分别进行数据置换,得到第三字节数组 和第四字节数组; 523 :对所述第三字节数组和所述第四字节数组进行拼接,得到所述加密字节数组。
3. 根据权利要求2所述的方法,其特征在于,所述S21,包括: 将A的位置中的比特值填充到X的xt位置中,获取X,其中,t= 0, 1,…,4n-l,t为整数,
,cl=tmod4 ; 将A的ab2,e2位置中的比特值填充到Y的yh位置中,获取Y,其中,h= 0, 1,…,4n-l,h 为整数,
,c2 =(hmod4)+4 ; 其中,A为所述初始字节数组,A表示为:A=aQjavaQjauaiyaiyan-uan-V X为所述第一字节数组,X表示为:X= X(|Xl?X4lri,Y为所述第二字节数组,Y表示为: Y= 丫山…丫―,n为正整数。
4. 根据权利要求3所述的方法,其特征在于,所述S22,包括: 根据公式一获取X',所述公式一为
,4n-l,s为整数,m为Y的汉明个数,X'为所述第三字节数组; 将Y进行S盒置换获取Y',其中,Y'为所述第四字节数组,Y'表示为:Y' =7'#' y 4n-l°
5. 根据权利要求4所述的方法,其特征在于,所述S23,包括: 将X'的X'5位置中的比特值填充到Z的ze位置中,其中,p= 0, 1,…,4n-l,p为整数,e= 2p+l; 将Y'的y' 5位置中的比特值填充到Z的zf位置中,其中,q= 0, 1,…,4n-l,q为整数,f= 2q; 其中,Z为所述加密字节数组,Z表示为为所述第三字节数组,X'表 示为:X' =x' 1…x' 4lri,Y'为所述第二字节数组,Y'表示为:Y'
6. -种二维码解码方法,其特征在于,包括: B1 :获取包含二维码信息的字符串,将所述包含二维码信息的字符串转换成加密字节 数组; B2 :对所述加密字节数组进行解密,生成初始字节数组; B3 :将所述初始字节数组转换成包含二维码原始信息的字符串。
7. 根据权利要求6所述的方法,其特征在于,所述B2,包括: B21 :将所述加密字节数组拆分成第三字节数组和第四字节数组; B22 :对所述第三字节数据和所述第四字节数据分别进行数据逆置换,得到第一字节数 组和第二字节数组; B23 :对所述第一字节数组和所述第二字节数组进行拼接,得到所述原始字节数组。
8. 根据权利要求7所述的方法,其特征在于,所述B21,包括: 将Z的%位置中的比特值填充到X'的x'p位置中,获得X',其中,p= 0, 1,…,4n-l, P为整数,e= 2p+l; 将Z的以立置中的比特值填充到Y'的y'q位置中,获得Y',其中,q= 0, 1,…,4n_l,q为整数,f= 2q; 其中,Z为所述加密字节数组,Z表示为:Z= X'为所述第三字节数组,X' 表示为:X'为所述第二字节数组,Y'表示为:Y' =y'(lyV"y'4n_1,nS正整数。
9. 根据权利要求8所述的方法,其特征在于,所述B22,包括: 将Y'进行S盒逆置换获取Y,其中,Y为所述第二字节数组,Y表示为:Y= 7(|7广1411_1; 根据公式二获取X,其中,所述公式二为
其 中,w(yQyr"yi-i)为yQyr"yi-i的汉明重量,i= 〇, 1,…,4n-i,i为整数,x为所述第一字节 数组,X表示为:X=XaXi-Xw。
10. 根据权利要求9所述的方法,其特征在于,所述B23,包括: 将X的xji置中的比特值填充到A的abl,el位置中,其中,t= 0, 1,???,4n-l,t为整数,
将Y的yh位置中的比特值填充到A的ab2,e2位置中,获得Y,其中,h= 0, 1,…,4n-l,h 为整数,
>c2 =(hmod4)+4 ; 其中,A为所述初始字节数组,A表示为:A=aQjavaQjauaiyaiyan-uan-V X为所述第一字节数组,X表示为:X= X(|Xl?X4lri,Y为所述第二字节数组,Y表示为: Y=y〇yr-y4n-i°
【专利摘要】本发明提供了一种二维码编码及解码方法,包括:S1:将包含待编码的信息的字符串转换成初始字节数组;S2:对所述初始字节数组进行加密,生成加密字节数组;S3:将所述加密字节数组转换成包含二维码信息的字符串。通过本发明提供的一种二维码编码及解码方法,能够提高二维码的安全性。
【IPC分类】G06K7-10, G06K19-06
【公开号】CN104573781
【申请号】CN201410738445
【发明人】张珠君, 张诗永, 王思叶, 朱大立, 陈恭亮
【申请人】中国科学院信息工程研究所
【公开日】2015年4月29日
【申请日】2014年12月5日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1