CN117371475A - 二维码的构建方法、解码方法、装置、设备及存储介质 - Google Patents
二维码的构建方法、解码方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN117371475A CN117371475A CN202311480755.1A CN202311480755A CN117371475A CN 117371475 A CN117371475 A CN 117371475A CN 202311480755 A CN202311480755 A CN 202311480755A CN 117371475 A CN117371475 A CN 117371475A
- Authority
- CN
- China
- Prior art keywords
- ciphertext
- plaintext
- data
- dimensional code
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000010276 construction Methods 0.000 title claims abstract description 118
- 238000000034 method Methods 0.000 title claims abstract description 57
- 238000012937 correction Methods 0.000 claims description 23
- 238000010586 diagram Methods 0.000 description 6
- 238000005192 partition Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
- G06K19/06009—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
- G06K19/06037—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking multi-dimensional coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/45—Structures or tools for the administration of authentication
- G06F21/46—Structures or tools for the administration of authentication by designing passwords or checking the strength of passwords
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K19/00—Record carriers for use with machines and with at least a part designed to carry digital markings
- G06K19/06—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
- G06K19/06009—Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code with optically detectable marking
- G06K19/06046—Constructional details
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
本申请提供一种二维码的构建方法、解码方法、装置、设备及存储介质。该方法包括:确定二维码构建日期和构建数据;根据二维码构建日期,确定目标密钥、以及目标密钥的识别号,并对密文数据进行加密,得到密文字节码;根据密文字节码、明文字节码、密文定位符、明文定位符、以及目标密钥的识别号,得到二维码图形;根据二维码图形,确定明文字节码、密文字节码、以及识别号,并对明文字节码进行解码;根据识别号,对密文字节码进行解码,得到二维码图形的原始数据。本申请的方法,使得二维码既可传递公开信息,又可传递私密信息,提高了二维码的防伪能力,增加了数据的保密性和安全性。
Description
技术领域
本申请涉及数据加密技术领域,尤其涉及一种二维码的构建方法、解码方法、装置、设备及存储介质。
背景技术
随着互联网技术的发展,二维码的数据传输、存储和识别技术的优点,受到了人们越来越多的关注,二维码技术可以实现数据共享等功能。
现有技术中,二维码主要采用快速反应(英文:Quick Response,简称:QR)码,其具有数据容量大、纠错率高、编码密度高、占用空间小、支持多种数据编码等优点,依靠定位图形及校验,QR码可实现360度的高速识读。
然而,QR码算法的公开、透明性,QR码很容易被复制与生成,且任何人都可轻松获取QR码中全部信息,从而降低了使用QR码进行防伪验证的作用。
发明内容
本申请提供一种二维码的构建方法、解码方法、装置、设备及存储介质,用以解决现有技术中二维码中数据进行加密后不可读的问题。
第一方面,本申请提供的一种二维码的构建方法,包括:
确定二维码构建日期、以及二维码构建数据,二维码构建数据包括明文数据和密文数据;
根据二维码构建日期,确定目标密钥、以及目标密钥的识别号,目标密钥的识别号包括日期信息和密钥序号信息,日期信息表征日期距离设定日期的天数;
根据目标密钥,对密文数据进行加密,得到密文字节码;
根据密文字节码、明文字节码、密文定位符、明文定位符、以及目标密钥的识别号,得到二维码图形,其中,明文字节码为对明文数据进行加密后得到的字节码,密文定位符表征密文数据在二维码构建数据中的位置,明文定位符表征明文数据在二维码构建数据中的位置。
在本申请实施例中,根据二维码构建日期,确定目标密钥、以及目标密钥的识别号,包括:
根据二维码构建日期,确定二维码构建日期距离设定日期的天数信息、二维码构建日期内的初始密钥、以及初始密钥的序号信息;
根据初始密钥,确定密文数据的目标密钥;
根据初始密钥的序号信息,确定目标密钥的目标密钥序号信息;
根据二维码构建日期距离设定日期的天数信息、以及目标密钥序号信息,确定密文数据的识别号。
在本申请实施例中,根据目标密钥,对密文数据进行加密,得到密文字节码,包括:
将目标密钥进行扩展,得到多组密钥数据;
将密文数据进行分组,得到具有相同长度的目标密文数据;
根据多组密钥数据,对目标密文数据依次进行加密运算,得到目标密文字节块;
将目标密文字节块进行拼接,得到密文字节码。
在本申请实施例中,在根据密文字节码、明文字节码、密文定位符、明文定位符、以及目标密钥的识别号,得到二维码图形之前,方法还包括:
根据二维码构建数据,确定二维码构建数据中的明文数据;
对明文数据进行编码,得到明文字节码;
根据明文字节码,确定与明文字节码对应的明文定位符,明文定位符表征明文字节码在二维码中的位置;
根据密文字节码,确定与密文字节码对应的密文定位符,密文定位符表征密文字节码在二维码中的位置。
在本申请实施例中,根据密文字节码、明文字节码、密文定位符、明文定位符、以及目标密钥的识别号,得到二维码图形,包括:
将密文字节码、明文字节码、密文定位符、明文定位符、以及目标密钥的识别号进行拼接,得到全文字节码;
根据全文字节码,生成全文字节码的纠错码;
将纠错码置入全文字节码,得到更新全文字节码;
对更新全文字节码进行编码,得到二维码图形。
第二方面,本申请提供一种二维码的解码方法,包括:
确定二维码图形的字节码信息、以及二维码图形中的明文定位符、密文定位符、以及识别号,明文定位符表征明文字节码在二维码图形中的位置,密文字节符表征密文字节码在二维码图形中的位置;
根据明文定位符,对字节码信息中与明文定位符相对应的字节码信息进行解码,得到明文数据;
根据密文定位符,确定字节码信息中的密文字节码信息;
根据识别号,确定字节码信息中的日期信息和密钥序号信息;
根据日期信息和密钥序号信息,确定目标密钥;
根据目标密钥,对密文字节码信息进行解码,得到密文数据;
根据明文数据、以及密文数据,得到二维码图形的原始数据。
在本申请实施例中,确定二维码图形的字节码信息、以及二维码图形中的明文定位符、密文定位符、以及识别号,包括:
根据二维码图形,对二维码图形进行解码,得到二维码图形中的初始信息;
根据纠错算法,对初始信息进行解码,确定二维码图形的字节码信息、明文定位符、密文定位符、以及识别号,明文定位符表征明文字节码在二维码图形中的位置,密文定位符表征密文字节码在二维码图形中的位置。
在本申请实施例中,根据明文定位符,对字节码信息中与明文定位符相对应的字节码信息进行解码,得到明文数据,包括:
根据明文定位符,确定字节码信息中的明文字节码信息;
对明文字节码信息进行解码,得到二维码图形中的明文数据。
在本申请实施例中,根据日期信息和密钥序号信息,确定目标密钥,包括:
根据日期信息,确定天数信息,天数信息为二维码图形的构建日期距离设定日期的天数;
根据天数信息,确定二维码图形的构建日期;
根据构建日期,确定构建日期内的初始密钥、以及初始密钥序号信息;
根据密钥序号信息,确定初始密钥序号信息中与密钥序号信息相匹配的目标密钥序号信息;
根据目标密钥序号信息,确定初始密钥中与目标密钥序号信息相对应的目标密钥。
在本申请实施例中,根据目标密钥,对密文字节码信息进行解码,得到密文数据,包括:
将目标密钥进行扩展,得到多组密钥数据;
将密文字节码信息进行分组,得到具有相同长度的目标密文字节码;
根据多组密钥数据,对目标密文字节码进行依次解码,得到多组密文数据;
将多组密文数据进行拼接,得到密文数据。
第三方面,本申请提供一种二维码的构建装置,包括:
第一确定模块,用于确定二维码构建日期、以及二维码构建数据,二维码构建数据包括明文数据和密文数据;
第二确定模块,用于根据二维码构建日期,确定目标密钥、以及目标密钥的识别号,目标密钥的识别号包括日期信息和密钥序号信息,日期信息表征目标日期距离设定日期的天数;
密文字节码得到模块,用于根据目标密钥,对密文数据进行加密,得到密文字节码;
二维码图形得到模块,用于根据密文字节码、明文字节码、密文定位符、明文定位符、以及目标密钥的识别号,得到二维码图形,其中,明文字节码为对明文数据进行加密后得到的字节码,密文定位符表征密文数据在二维码构建数据中的位置,明文定位符表征明文数据在二维码构建数据中的位置。
第四方面,本申请提高的一种二维码的解码装置,包括:
二维码图形确定模块,用于确定二维码图形的字节码信息、以及二维码图形中的明文定位符、密文定位符、以及识别号,明文定位符表征明文字节码在二维码图形中的位置,密文字节符表征密文字节码在二维码图形中的位置;
明文数据得到模块,用于根据明文定位符,对字节码信息中与明文定位符相对应的字节码信息进行解码,得到明文数据;
密文字节码确定模块,用于根据密文定位符,确定字节码信息中的密文字节码信息;
字节码信息确定模块,用于根据识别号,确定字节码信息中的日期信息和密钥序号信息;
目标密钥确定模块,用于根据日期信息和密钥序号信息,确定目标密钥;
密文数据得到模块,用于根据目标密钥,对密文字节码信息进行解码,得到密文数据;
原始数据得到模块,用于根据明文数据、以及密文数据,得到二维码图形的原始数据。
第五方面,本申请提供一种电子设备,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现本申请实施例的方法。
第六方面,本申请提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时用于实现本申请实施例的方法。
本申请提供的二维码的构建方法、解码方法、装置、设备及存储介质,通过确定二维码构建日期、以及二维码构建数据,二维码构建数据包括明文数据和密文数据;根据二维码构建日期,确定目标密钥、以及目标密钥的识别号,目标密钥的识别号包括日期信息和密钥序号信息,日期信息表征日期距离设定日期的天数;根据目标密钥,对密文数据进行加密,得到密文字节码;根据密文字节码、明文字节码、密文定位符、明文定位符、以及目标密钥的识别号,得到二维码图形;确定二维码图形的字节码信息、以及二维码图形中的明文定位符、密文定位符、以及识别号,明文定位符表征明文字节码在二维码图形中的位置,密文字节符表征密文字节码在二维码图形中的位置;根据明文定位符,对字节码信息中与明文定位符相对应的字节码信息进行解码,得到明文数据;根据密文定位符,确定字节码信息中的密文字节码信息;根据识别号,确定字节码信息中的日期信息和密钥序号信息;根据日期信息和密钥序号信息,确定目标密钥;根据目标密钥,对密文字节码信息进行解码,得到密文数据;根据明文数据、以及密文数据,得到二维码图形的原始数据的手段,实现了对明文数据和密文数据进行分区编码加密、以及分区解码解密的效果,使得二维码图形中可以同时包含明文信息和密文信息,提高了二维码的数据存储能力,同时提高了二维码图形中数据的防伪和追溯能力。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请实施例提供的二维码的构建方法的流程示意图;
图2为本申请实施例提供的二维码的解码方法的流程示意图;
图3为本申请实施例提供的另一种二维码的构建方法的流程示意图;
图4为本申请实施例提供的另一种二维码的解码方法的流程示意图;
图5为本申请实施例提供的二维码的构建装置的结构示意图;
图6为本申请实施例提供的二维码的解码装置的结构示意图;
图7为本申请实施例提供的电子设备的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
现有技术中,在对二维码进行加密编码时,通常采用QR码进行编码,使得QR码中的数据可以轻松获取,降低了QR码的防伪能力;同时,对二维码的全部数据进行覆盖再加密,导致普通设备的整个二维码数据不可读取。
为了解决上述问题,本申请提供的二维码的构建方法、解码方法、装置、设备及存储介质,可以将用于构建二维码图形的数据进行分区,对可以公开的明文数据进行标准编码并生成定位信息,对不允许公开的密文数据根据构建二维码的日期信息进行加密编码并生成定位信息,同时根据日期信息得到该密文数据的识别号,在进行解码时根据定位确定明文数据和密文数据的位置,并根据识别号对密文数据进行解码,根据标准解码方式对公开数据进行解码。由此,解决了现有二维码经过加密之后,不可读取的问题,同时,构建的二维码可以同时包含明文和密文,既能传递公开数据,也可传递私密数据,提高了二维码的数据保护能力和防伪能力。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
本申请实施例提供的二维码的构建方法、解码方法的执行主体可以是服务器。其中,服务器可以为计算机等设备。本实施例对执行主体的实现方式不做特别限制,只要该执行主体能够确定二维码构建日期、以及二维码构建数据;根据二维码构建日期,确定目标密钥、以及目标密钥的识别号;根据目标密钥,对密文数据进行加密,得到密文字节码;根据密文字节码、明文字节码、密文定位符、明文定位符、以及目标密钥的识别号,得到二维码图形;也可以通过确定二维码图形的字节码信息、以及二维码图形中的明文定位符、密文定位符、以及识别号;根据明文定位符,对字节码信息中与明文定位符相对应的字节码信息进行解码,得到明文数据;根据密文定位符,确定字节码信息中的密文字节码信息;根据识别号,确定字节码信息中的日期信息和密钥序号信息;根据日期信息和密钥序号信息,确定目标密钥;根据目标密钥,对密文字节码信息进行解码,得到密文数据;根据明文数据、以及密文数据,得到二维码图形的原始数据即可。
其中,字节码是指一种根据源数据进行编码得到的二进制数据,包括明文字节码和密文字节码。
明文字节码是指字节码中可以公开的数据。
密文字节码是指字节码中需要加密的数据。
明文定位符是指二维码图形中明文字节码的定位标志符号。
密文定位符是指二维码图形中密文字节码的定位标志符号。
图1为本申请实施例提供的二维码的构建方法的流程示意图。如图1所示,该方法可以包括:
S101、确定二维码构建日期、以及二维码构建数据,二维码构建数据包括明文数据和密文数据。
其中,二维码构建日期是指构建二维码时的日期。
明文数据是指用于生成二维码图形、可以公开的数据。
密文数据是指用于生成二维码图形、不允许公开的数据。
其中,在构建二维码时,要确定构建二维码当天的日期、以及该二维码需要包含的所有数据,同时要确定所有数据中可以被公众所知晓的明文数据、以及所有数据中不允许被公众所知晓的密文数据。
S102、根据二维码构建日期,确定目标密钥、以及目标密钥的识别号,目标密钥的识别号包括日期信息和密钥序号信息,日期信息表征日期距离设定日期的天数。
其中,密钥是指一种将密文数据转为密文字节码的算法中的参数,包括对称密钥和非对称密钥。
识别号是指用于生成密文字节码的密钥的二进制数,包括代表日期的16个比特字的二进制数、代表序号的2个比特字的二进制数。
其中,在本申请实施例中,根据二维码构建日期,确定目标密钥、以及目标密钥的识别号,包括:
根据二维码构建日期,确定二维码构建日期距离设定日期的天数信息、二维码构建日期内的初始密钥、以及初始密钥的序号信息;
根据初始密钥,确定密文数据的目标密钥;
根据初始密钥的序号信息,确定目标密钥的目标密钥序号信息;
根据二维码构建日期距离设定日期的天数信息、以及目标密钥序号信息,确定密文数据的识别号。
其中,根据生成二维码当天的日期,确定该日期距离设定日期的天数,将该天数转为16位的二进制数M;同时在该日期内随机生成若干个密钥,并为该若干个密钥设置相应的序号,从该若干个密钥中随机选取一个密钥作为用于给密文数据加密的目标密钥,同时确定该目标密钥的序号,并将该序号转为二进制数N;假设二进制数N的位数为p,则计算该序号存储所需要的字节数q,即二进制数N的位数p除8后向上取整,如果二进制数N的位数不足8q位,则用0将该二进制数N的高位补齐;将字节数q转为2位二进制数R;最后,将日期二进制数M、序号字节数R、序号二进制数N进行拼接,即可得到密文数据的识别号。
S103、根据目标密钥,对密文数据进行加密,得到密文字节码。
其中,在本申请实施例中,根据目标密钥,对密文数据进行加密,得到密文字节码,包括:
将目标密钥进行扩展,得到多组密钥数据;
将密文数据进行分组,得到具有相同长度的目标密文数据;
根据多组密钥数据,对目标密文数据依次进行加密运算,得到目标密文字节块;
将目标密文字节块进行拼接,得到密文字节码。
其中,根据目标密钥,将目标密钥扩展为多组128位比特字的目标密钥数据,将密文数据分为多组16个比特字的目标密文数据,并且每个比特字为8位,通过目标密钥数据对目标密文数据进行十轮的字节代换、行移位、列混合、轮密钥加,得到多组目标密文字节块,将该多组目标密文字节块进行拼接,即可得到密文字节码,其中,行位移是指一种简单的左循环移位操作,列混合是通过移位后的状态矩阵与固定的矩阵相乘,得到混淆后的状态矩阵,轮密钥加是将128位轮密钥同状态矩阵中的数据进行逐位异或操作。
S104、根据密文字节码、明文字节码、密文定位符、明文定位符、以及目标密钥的识别号,得到二维码图形,其中,明文字节码为对明文数据进行加密后得到的字节码,密文定位符表征密文数据在二维码构建数据中的位置,明文定位符表征明文数据在二维码构建数据中的位置。
其中,在本申请实施例中,在根据密文字节码、明文字节码、密文定位符、明文定位符、以及目标密钥的识别号,得到二维码图形之前,方法还包括:
根据二维码构建数据,确定二维码构建数据中的明文数据;
对明文数据进行编码,得到明文字节码;
根据明文字节码,确定与明文字节码对应的明文定位符,明文定位符表征明文字节码在二维码中的位置;
根据密文字节码,确定与密文字节码对应的密文定位符,密文定位符表征密文字节码在二维码中的位置。
其中,根据构建二维码所需的数据,确定该数据中可以被公开的明文数据,通过QR编码算法对该明文数据进行编码,可以得到该二维码图形中的明文字节码,并根据该明文字节码可以确定该明文字节码在该二维码图形中的位置,同时根据该位置确定与该明文字节码所对应的明文字节符;根据密文字节码在该二维码图形中的位置,可以确定与该密文字节码所对应的密文字节符。
QR编码算法将需要编码的数据转换为二进制码,然后将其按照一定规则分组,使得每组数据成为一个字符的算法。
其中,在本申请实施例中,根据密文字节码、明文字节码、密文定位符、明文定位符、以及目标密钥的识别号,得到二维码图形,包括:
将密文字节码、明文字节码、密文定位符、明文定位符、以及目标密钥的识别号进行拼接,得到全文字节码;
根据全文字节码,生成全文字节码的纠错码;
将纠错码置入全文字节码,得到更新全文字节码;
对更新全文字节码进行编码,得到二维码图形。
其中,纠错码是指在接收端能够自动地纠正数据传输中所发生差错的码,时通过对全文字节码进行计算得到的检验数据,根据这些检验数据,可以保证全文字节码的可恢复性,比如,纠错码可以通过Reed-Solomon算法生成。
Reed-Solomon算法是指一种纠错算法,通过对任意信息中的冗余内容进行扩展,得到加长的信息,从而使得该加长信息进行有噪声地传输之后,只要信息出错的数量少于事先定义的值,便可被完美地纠错解码。
通过将得到的密文字节码、明文字节码、密文定位符、明文定位符、以及目标密钥的识别号进行拼接,可以得到二维码图形的初始全文字节码,并根据Reed-Solomon算法,得到具有一定剩余度的纠错字节码,将该纠错字节码放入初始全文字节码中,得到更新全文字节码,并根据QR编码标志对该更新全文字节码进行编码,即可得到既包含明文数据又包含密文数据的二维码图形。
本申请提供的二维码的构建方法,可以通过确定二维码构建日期、以及二维码构建数据,二维码构建数据包括明文数据和密文数据;根据二维码构建日期,确定目标密钥、以及目标密钥的识别号,目标密钥的识别号包括日期信息和密钥序号信息,日期信息表征日期距离设定日期的天数;根据目标密钥,对密文数据进行加密,得到密文字节码;根据密文字节码、明文字节码、密文定位符、明文定位符、以及目标密钥的识别号,得到二维码图形,其中,明文字节码为对明文数据进行加密后得到的字节码,密文定位符表征密文数据在二维码构建数据中的位置,明文定位符表征明文数据在二维码构建数据中的位置,实现一个二维码图形中既可包含公开数据,又可包含私密数据的功能,从而解决了现有技术中二维码图形中只能包含公开信息或者只能包含私密信息的问题,提升了二维码的数据容量。
图2为本申请实施例提供的二维码的解码方法的流程示意图。如图2所示,该方法可以包括:
S201、确定二维码图形的字节码信息、以及二维码图形中的明文定位符、密文定位符、以及识别号,明文定位符表征明文字节码在二维码图形中的位置,密文字节符表征密文字节码在二维码图形中的位置。
其中,在本申请实施例中,确定二维码图形的字节码信息、以及二维码图形中的明文定位符、密文定位符、以及识别号,包括:
根据二维码图形,对二维码图形进行解码,得到二维码图形中的初始信息;
根据纠错算法,对初始信息进行解码,确定二维码图形的字节码信息、明文定位符、密文定位符、以及识别号,明文定位符表征明文字节码在二维码图形中的位置,密文定位符表征密文字节码在二维码图形中的位置。
其中,根据QR标准解码方式对二维码图形进行解码,得到二维码图形中所包含的初始信息,根据Reed-Solomon算法对该初始信息进行解码,可以得到二维码图形中的明文字节码、密文字节码、密文定位符、以及识别号。
S202、根据明文定位符,对字节码信息中与明文定位符相对应的字节码信息进行解码,得到明文数据。
其中,在本申请实施例中,根据明文定位符,对字节码信息中与明文定位符相对应的字节码信息进行解码,得到明文数据,包括:
根据明文定位符,确定字节码信息中的明文字节码信息;
对明文字节码信息进行解码,得到二维码图形中的明文数据。
其中,根据二维码图形中的明文定位符,确定二维码中的明文字节码,根据QR标准解码算法对该明文字节码进行解码,可以得到二维码图形中所包含的明文数据。
S203、根据密文定位符,确定字节码信息中的密文字节码信息。
其中,根据二维码图形中的密文定位符,可以确定字节码信息中密文字节码信息在二维码图形中的位置信息,根据该位置信息,可以确定字节码信息中的密文字节码信息。
S204、根据识别号,确定字节码信息中的日期信息和密钥序号信息。
其中,根据识别号,读取识别号中16个比特字的二进制数M,将该二进制数M转为整数m,m即为生成该二维码图形的日期距离设定日期的天数信息,在设定日期的基础上加上m,即可得到生成该二维码图形的日期t;读取识别号中2个比特字的二进制数N,并将该二进制数N转为整数n,读取8n个比特字并转为整数p,即为生成该二维码图形中密文数据的密钥序号。
S205、根据日期信息和密钥序号信息,确定目标密钥。
其中,在本申请实施例中,根据日期信息和密钥序号信息,确定目标密钥,包括:
根据日期信息,确定天数信息,天数信息为二维码图形的构建日期距离设定日期的天数;
根据天数信息,确定二维码图形的构建日期;
根据构建日期,确定构建日期内的初始密钥、以及初始密钥序号信息;
根据密钥序号信息,确定初始密钥序号信息中与密钥序号信息相匹配的目标密钥序号信息;
根据目标密钥序号信息,确定初始密钥中与目标密钥序号信息相对应的目标密钥。
S206、根据目标密钥,对密文字节码信息进行解码,得到密文数据。
其中,在本申请实施例中,根据目标密钥,对密文字节码信息进行解码,得到密文数据,包括:
将目标密钥进行扩展,得到多组密钥数据;
将密文字节码信息进行分组,得到具有相同长度的目标密文字节码;
根据多组密钥数据,对目标密文字节码进行依次解码,得到多组密文数据;
将多组密文数据进行拼接,得到密文数据。
其中,将目标密钥分为多个相同长度的密钥数据,并将密文字节码信息分为多个相同长度的目标密文字节码,通过对目标密文字节码顺序执行逆行移位、逆字节代换、轮密钥加和逆列混合,便可得到多组密文数据,将该多组密文数据按顺序进行拼接,即可得到密文数据。
S207、根据明文数据、以及密文数据,得到二维码图形的原始数据。
本申请提供的二维码的解码方法,可以通过确定二维码图形的字节码信息、以及二维码图形中的明文定位符、密文定位符、以及识别号,明文定位符表征明文字节码在二维码图形中的位置,密文字节符表征密文字节码在二维码图形中的位置;根据明文定位符,对字节码信息中与明文定位符相对应的字节码信息进行解码,得到明文数据;根据密文定位符,确定字节码信息中的密文字节码信息;根据识别号,确定字节码信息中的日期信息和密钥序号信息;根据日期信息和密钥序号信息,确定目标密钥;根据目标密钥,对密文字节码信息进行解码,得到密文数据;根据明文数据、以及密文数据,二维码图形的原始数据,实现了对二维码图形的分区解密,从而解决了现有技术中二维码图形的解码方式不安全的问题,提高了二维码图形中数据的可靠性和安全性。
图3为本申请实施例提供的另一种二维码的构建方法的流程示意图。如图3所示,该方法可以包括:
S301、确定明文区域、以及明文区域对应的结束符。
其中,明文区域可以指二维码图形中可以公开的区域信息,包括格式信息、版本信息、以及明文数据信息。
结束符可以指二维码图形中表征明文区域结束的信息,可以指四个比特字的二进制数,比如,结束符可以指二进制数0000。
S302、随机生成初始密钥。
其中,确定构建二维码的日期,并在该日期内随机生成初始密钥,并为该初始密钥按照顺序设置序号。
S303、根据初始密钥,确定目标密钥、以及目标密钥对应的序号。
其中,从初始密钥中随机选取的一个密钥作为目标密钥,并且与该目标密钥对应的序号。
S304、根据高级加密标准算法,对待加密信息进行加密,得到密文字节码、以及与密文字节码对应的标志符。
其中,高级加密标准(英文:Advanced Encryption Standard,简称:AES)算法是指二维码加密算法中最为常见的算法之一,通过对二维码数据进行AES分组加密,可以得到相同长度的分组数据,直至得到完整的加密二维码。
标志符可以指标志二维码图形中密文区域开始的标志,可以指十个比特字的二进制数,比如,标识符可以为二进制数1111111111。
S305、根据目标密钥、以及目标密钥对应的序号,确定与密文字节码对应的识别号。
其中,识别号是由日期、序号字节数、序号三部分组成,日期是16个比特字的二进制数,代表当前日期距离2020年1月1日的天数,序号字节数是2个比特字的二进制数,代表接下来的序号字节数,序号位数可以指序号字节数乘8,比如,计算当前日期与2020年1月1日的间隔天数,转成16位二进制数m;将序号转成二进制数n;设二进制数n位数为p,计算序号存储所需字节数,即二进制位数除8后向上取整;如果二进制数n位数不足8q位,则用0将高位补齐;序号字节数q转为2位二进制数r;拼接二进制的日期m、序号字节数r、序号n,转成字节码,得到识别号。
S306、将明文按照QR码数据编码标准进行数据编码,得到明文字节码;
S307、将明文字节码与结束符、标识符、识别号、以及密文字节码拼接,得到全文字节码;
S308、根据纠错算法生成纠错码,拼接到全文字节码中。
其中,纠错算法可以指Reed-Solomon算法,通过对原始数据进行计算得到检验数据,然后根据校验数据,可以保证原始数据的可恢复性。
S309、按照QR标准,将全文字节码转换成QR码图形。
本申请实施例提供的另一种二维码的构建方法,可以根据每日随机生成的密钥,对待加密信息进行加密,并生成待加密信息的识别号和标志符;通过QR编码标准对明文数据进行加密,得到明文字节码和明文字节码的结束符;将明文字节码和结束符、标识符、识别号以及密文进行拼接,并生成纠错码,便可以得到二维码图形。从而可以根据明文和密文,对二维码图形进行分区加密,使得二维码图形既可以包含公开数据,又可以包含私密数据,提高了二维码图形的防伪能力,增加了二维码中的隐私性。
图4为本申请实施例提供的另一种二维码的解码方法的流程示意图。如图4所示,该方法可以包括:
S401、读取二维码图形,确定原始字节流。
其中,字节流主要由字节组成,通过读取二维码图形,确定二维码图形中的0和1模块,根据0和1模块的位置,确定二维码图形的所有字节信息,根据字节信息可以确定二维码图形中的原始字节流。
S402、使用Reed-Solomon算法解码原始字节流,获得字节数组,并转为比特流。
其中,比特流是指由一串二进制位组成的数据流,比特流中的每个二进制位都代表了逻辑值0或1。
S403、确定第一个结束符,将结束符之前的比特流按照QR数据编码标准进行译码,得到明文数据。
其中,根据二维码图形,确定图形中的结束符的位置,根据结束符的位置,可以确定结束符之前的比特流的位置即为明文字节码的位置区域,将该区域的比特流按照QR
S404、读取结束符之后的标志符、识别号。
其中,读取识别号,将识别号中的16个比特字转成整数m,该整数为生成二维码图形的日期距离设定日期的天数;在设定日期的基础上加m天,获得生成二维码图形的日期t;读取识别号中2个比特字,转成整数n;读取n*8个比特字,转成整数p,即为识别号中的序号。
S405、根据识别号中的日期、序号信息,得到目标密钥;
S406、读取密文信息,用AES算法对密文解密,得到原始加密信息。
本申请实施例提供的另一种二维码的解码方法,可以读取二维码图形中的结束符、标识符和识别号,根据结束符的位置,对明文字节码进行解码;根据标识符和识别号,对密文字节码进行解码,进而读取二维码中的明文数据和密文数据,从而可以根据二维码图形中的结束符和标识符,直接定位明文数据和密文数据的位置,加快了二维码的解码速度,提高了二维码的解码效率。
图5为本申请实施例提高的二维码的构建装置的结构示意图。如图5所示,该二维码的构建装置50包括:第一确定模块501、第二确定模块502、密文字节码得到模块503、以及二维码图形得到模块504。其中:
第一确定模块501,用于确定二维码构建日期、以及二维码构建数据,二维码构建数据包括明文数据和密文数据;
第二确定模块502,用于根据二维码构建日期,确定目标密钥、以及目标密钥的识别号,目标密钥的识别号包括日期信息和密钥序号信息,日期信息表征日期距离设定日期的天数;
密文字节码得到模块503,用于根据目标密钥,对密文数据进行加密,得到密文字节码;
二维码图形得到模块504,用于根据密文字节码、明文字节码、密文定位符、明文定位符、以及目标密钥的识别号,得到二维码图形,其中,明文字节码为对明文数据进行加密后得到的字节码,密文定位符表征密文数据在二维码构建数据中的位置,明文定位符表征明文数据在二维码构建数据中的位置。
在本申请实施例中,第二确定模块502还可以具体用于:
根据二维码构建日期,确定二维码构建日期距离设定日期的天数信息、二维码构建日期内的初始密钥、以及初始密钥的序号信息;
根据初始密钥,确定密文数据的目标密钥;
根据初始密钥的序号信息,确定目标密钥的目标密钥序号信息;
根据二维码构建日期距离设定日期的天数信息、以及目标密钥序号信息,确定密文数据的识别号。
在本申请实施例中,密文字节码得到模块503还可以具体用于:
将目标密钥进行扩展,得到多组密钥数据;
将密文数据进行分组,得到具有相同长度的目标密文数据;
根据多组密钥数据,对目标密文数据依次进行加密运算,得到目标密文字节块;
将目标密文字节块进行拼接,得到密文字节码。
在本申请实施例中,二维码图形得到模块504还可以具体用于:
根据二维码构建数据,确定二维码构建数据中的明文数据;
对明文数据进行编码,得到明文字节码;
根据明文字节码,确定与明文字节码对应的明文定位符,明文定位符表征明文字节码在二维码中的位置;
根据密文字节码,确定与密文字节码对应的密文定位符,密文定位符表征密文字节码在二维码中的位置。
在本申请实施例中,二维码图形得到模块504还可以具体用于:
将密文字节码、明文字节码、密文定位符、明文定位符、以及目标密钥的识别号进行拼接,得到全文字节码;
根据全文字节码,生成全文字节码的纠错码;
将纠错码置入全文字节码,得到更新全文字节码;
对更新全文字节码进行编码,得到二维码图形。
由上可知,本申请实施例的二维码的构建装置50由第一确定模块501,用于确定二维码构建日期、以及二维码构建数据,二维码构建数据包括明文数据和密文数据;第二确定模块502、用于根据二维码构建日期,确定目标密钥、以及目标密钥的识别号,目标密钥的识别号包括日期信息和密钥序号信息,日期信息表征日期距离设定日期的天数;密文字节码得到模块503、用于根据目标密钥,对密文数据进行加密,得到密文字节码;二维码图形得到模块504、用于根据密文字节码、明文字节码、密文定位符、明文定位符、以及目标密钥的识别号,得到二维码图形,其中,明文字节码为对明文数据进行加密后得到的字节码,密文定位符表征密文数据在二维码构建数据中的位置,明文定位符表征明文数据在二维码构建数据中的位置。由此,通过对明文数据和密文数据进行分区加密,避免了明文数据不可读的现象,同时通过随机密钥对密文数据进行加密,使得密文数据的保密性更强,解决了二维码图形中密文数据信息不安全的问题。
图6为本申请实施例提高的二维码的解码装置的结构示意图。如图6所示,该二维码的解码装置60包括:二维码图形确定模块601、明文数据得到模块602、密文字节码确定模块603、字节码信息确定模块604、目标密钥确定模块605、密文数据得到模块606、以及原始数据得到模块607。其中:
二维码图形确定模块601,用于确定二维码图形的字节码信息、以及二维码图形中的明文定位符、密文定位符、以及识别号,明文定位符表征明文字节码在二维码图形中的位置,密文字节符表征密文字节码在二维码图形中的位置;
明文数据得到模块602,用于根据明文定位符,对字节码信息中与明文定位符相对应的字节码信息进行解码,得到明文数据;
密文字节码确定模块603,用于根据密文定位符,确定字节码信息中的密文字节码信息;
字节码信息确定模块604,用于根据识别号,确定字节码信息中的日期信息和密钥序号信息;
目标密钥确定模块605,用于根据日期信息和密钥序号信息,确定目标密钥;
密文数据得到模块606,用于根据目标密钥,对密文字节码信息进行解码,得到密文数据;
原始数据得到模块607,用于根据明文数据、以及密文数据,得到二维码图形的原始数据。
在本申请实施例中,二维码图形确定模块601还可以具体用于:
根据二维码图形,对二维码图形进行解码,得到二维码图形中的初始信息;
根据纠错算法,对初始信息进行解码,确定二维码图形的字节码信息、明文定位符、密文定位符、以及识别号,明文定位符表征明文字节码在二维码图形中的位置,密文定位符表征密文字节码在二维码图形中的位置。
在本申请实施例中,明文数据得到模块602还可以具体用于:
根据明文定位符,确定字节码信息中的明文字节码信息;
对明文字节码信息进行解码,得到二维码图形中的明文数据。
在本申请实施例中,目标密钥确定模块605还可以具体用于:
根据日期信息,确定天数信息,天数信息为二维码图形的构建日期距离设定日期的天数;
根据天数信息,确定二维码图形的构建日期;
根据构建日期,确定构建日期内的初始密钥、以及初始密钥序号信息;
根据密钥序号信息,确定初始密钥序号信息中与密钥序号信息相匹配的目标密钥序号信息;
根据目标密钥序号信息,确定初始密钥中与目标密钥序号信息相对应的目标密钥。
在本申请实施例中,密文数据得到模块606还可以具体用于:
将目标密钥进行扩展,得到多组密钥数据;
将密文字节码信息进行分组,得到具有相同长度的目标密文字节码;
根据多组密钥数据,对目标密文字节码进行依次解码,得到多组密文数据;
将多组密文数据进行拼接,得到密文数据。
由上可知,本申请实施例的二维码的解码装置60由二维码图形确定模块601,用于确定二维码图形的字节码信息、以及二维码图形中的明文定位符、密文定位符、以及识别号,明文定位符表征明文字节码在二维码图形中的位置,密文字节符表征密文字节码在二维码图形中的位置;明文数据得到模块602、用于根据明文定位符,对字节码信息中与明文定位符相对应的字节码信息进行解码,得到明文数据;密文字节码确定模块603、用于根据密文定位符,确定字节码信息中的密文字节码信息;字节码信息确定模块604、用于根据识别号,确定字节码信息中的日期信息和密钥序号信息;目标密钥确定模块605、用于根据日期信息和密钥序号信息,确定目标密钥;密文数据得到模块606、用于根据目标密钥,对密文字节码信息进行解码,得到密文数据;原始数据得到模块607、用于根据明文数据、以及密文数据,得到二维码图形的原始数据。由此,通过对二维码图形进行分区解码,可以保证二维码图形中明文数据的可读性,同时根据识别号来确定密文数据的密钥,可以提高密文数据的保密性,从而提高了二维码图形的数据防伪性和有效性。
图7为本申请实施例提供的电子设备的结构示意图。如图7所示,该电子设备70包括:
该电子设备70可以包括一个或者一个以上处理核心的处理器701、一个或一个以上计算机可读存储介质的存储器702、通信部件703等部件。其中,处理器701、存储器702以及通信部件703通过总线704连接。
在具体实现过程中,至少一个处理器701执行存储器702存储的计算机执行指令,使得至少一个处理器701执行如上的二维码的构建方法、解码方法。
处理器701的具体实现过程可参见上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。
在上述的图7所示的实施例中,应理解,处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application SpecificIntegrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速存储器(Random Access Memory,RAM),也可能还包括非易失性存储器(Non-volatile Memory,NVM),例如至少一个磁盘存储器。
总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(ExtendedIndustry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
在一些实施例中,还提出一种计算机程序产品,包括计算机程序或指令,该计算机程序或指令被处理器执行时实现上述任一种二维码的构建方法、解码方法中的步骤。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本申请实施例所提供的任一种二维码的构建方法、解码方法中的步骤。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。
由于该存储介质中所存储的指令,可以执行本申请实施例所提供的任一种二维码的构建方法、解码方法中的步骤,因此,可以实现本申请实施例所提供的任一种二维码的构建方法、解码方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。
Claims (14)
1.一种二维码的构建方法,其特征在于,所述方法包括:
确定二维码构建日期、以及二维码构建数据,所述二维码构建数据包括明文数据和密文数据;
根据所述二维码构建日期,确定目标密钥、以及所述目标密钥的识别号,所述目标密钥的识别号包括日期信息和密钥序号信息,所述日期信息表征所述目标日期距离设定日期的天数;
根据所述目标密钥,对所述密文数据进行加密,得到密文字节码;
根据所述密文字节码、明文字节码、密文定位符、明文定位符、以及所述目标密钥的识别号,得到二维码图形,其中,所述明文字节码为对所述明文数据进行加密后得到的字节码,所述密文定位符表征所述密文数据在所述二维码构建数据中的位置,所述明文定位符表征所述明文数据在所述二维码构建数据中的位置。
2.根据权利要求1所述的方法,其特征在于,所述根据所述二维码构建日期,确定目标密钥、以及所述目标密钥的识别号,包括:
根据所述二维码构建日期,确定所述二维码构建日期距离设定日期的天数信息、所述二维码构建日期内的初始密钥、以及所述初始密钥的序号信息;
根据所述初始密钥,确定所述密文数据的目标密钥;
根据所述初始密钥的序号信息,确定所述目标密钥的目标密钥序号信息;
根据所述二维码构建日期距离设定日期的天数信息、以及所述目标密钥序号信息,确定所述密文数据的识别号。
3.根据权利要求1所述的方法,其特征在于,所述根据所述目标密钥,对所述密文数据进行加密,得到密文字节码,包括:
将所述目标密钥进行扩展,得到多组密钥数据;
将所述密文数据进行分组,得到具有相同长度的目标密文数据;
根据所述多组密钥数据,对所述目标密文数据依次进行加密运算,得到目标密文字节块;
将所述目标密文字节块进行拼接,得到密文字节码。
4.根据权利要求1所述的方法,其特征在于,在所述根据所述密文字节码、明文字节码、密文定位符、明文定位符、以及所述目标密钥的识别号,得到二维码图形之前,所述方法还包括:
根据所述二维码构建数据,确定所述二维码构建数据中的所述明文数据;
对所述明文数据进行编码,得到明文字节码;
根据所述明文字节码,确定与所述明文字节码对应的明文定位符,所述明文定位符表征所述明文字节码在二维码中的位置;
根据所述密文字节码,确定与所述密文字节码对应的密文定位符,所述密文定位符表征所述密文字节码在二维码中的位置。
5.根据权利要求1所述的方法,其特征在于,所述根据所述密文字节码、明文字节码、密文定位符、明文定位符、以及所述目标密钥的识别号,得到二维码图形,包括:
将所述密文字节码、所述明文字节码、所述密文定位符、所述明文定位符、以及所述目标密钥的识别号进行拼接,得到全文字节码;
根据所述全文字节码,生成所述全文字节码的纠错码;
将所述纠错码置入所述全文字节码,得到更新全文字节码;
对所述更新全文字节码进行编码,得到二维码图形。
6.一种二维码的解码方法,其特征在于,所述方法包括:
确定二维码图形的字节码信息、以及所述二维码图形中的明文定位符、密文定位符、以及识别号,所述明文定位符表征明文字节码在所述二维码图形中的位置,所述密文字节符表征密文字节码在所述二维码图形中的位置;
根据所述明文定位符,对所述字节码信息中与所述明文定位符相对应的字节码信息进行解码,得到明文数据;
根据所述密文定位符,确定所述字节码信息中的密文字节码信息;
根据所述识别号,确定所述字节码信息中的日期信息和密钥序号信息;
根据所述日期信息和密钥序号信息,确定目标密钥;
根据所述目标密钥,对所述密文字节码信息进行解码,得到密文数据;
根据所述明文数据、以及所述密文数据,得到所述二维码图形的原始数据。
7.根据权利要求6所述的方法,其特征在于,所述确定二维码图形的字节码信息、以及所述二维码图形中的明文定位符、密文定位符、以及识别号,包括:
根据二维码图形,对所述二维码图形进行解码,得到所述二维码图形中的初始信息;
根据纠错算法,对所述初始信息进行解码,确定所述二维码图形中的字节码信息、明文定位符、密文定位符、以及识别号,所述明文定位符表征明文字节码在所述二维码图形中的位置,所述密文定位符表征密文字节码在所述二维码图形中的位置。
8.根据权利要求6所述的方法,其特征在于,所述根据所述明文定位符,对所述字节码信息中与所述明文定位符相对应的字节码信息进行解码,得到明文数据,包括:
根据所述明文定位符,确定所述字节码信息中的明文字节码信息;
对所述明文字节码信息进行解码,得到所述二维码图形中的明文数据。
9.根据权利要求6所述的方法,其特征在于,所述根据所述日期信息和密钥序号信息,确定目标密钥,包括:
根据所述日期信息,确定天数信息,所述天数信息为所述二维码图形的构建日期距离设定日期的天数;
根据所述天数信息,确定所述二维码图形的构建日期;
根据所述构建日期,确定所述构建日期内的初始密钥、以及初始密钥序号信息;
根据所述密钥序号信息,确定所述初始密钥序号信息中与所述密钥序号信息相匹配的目标密钥序号信息;
根据所述目标密钥序号信息,确定所述初始密钥中与所述目标密钥序号信息相对应的目标密钥。
10.根据权利要求6所述的方法,其特征在于,所述根据所述目标密钥,对所述密文字节码信息进行解码,得到密文数据,包括:
将所述目标密钥进行扩展,得到多组密钥数据;
将所述密文字节码信息进行分组,得到具有相同长度的目标密文字节码;
根据所述多组密钥数据,对所述目标密文字节码进行依次解码,得到多组密文数据;
将所述多组密文数据进行拼接,得到密文数据。
11.一种二维码的构建装置,其特征在于,包括:
第一确定模块,确定二维码构建日期、以及二维码构建数据,所述二维码构建数据包括明文数据和密文数据;
第二确定模块,根据所述二维码构建日期,确定目标密钥、以及所述目标密钥的识别号,所述目标密钥的识别号包括日期信息和密钥序号信息,所述日期信息表征所述目标日期距离设定日期的天数;
密文字节码得到模块,根据所述目标密钥,对所述密文数据进行加密,得到密文字节码;
二维码图形得到模块,根据所述密文字节码、明文字节码、密文定位符、明文定位符、以及所述目标密钥的识别号,得到二维码图形,其中,所述明文字节码为对所述明文数据进行加密后得到的字节码,所述密文定位符表征所述密文数据在所述二维码构建数据中的位置,所述明文定位符表征所述明文数据在所述二维码构建数据中的位置。
12.一种二维码的解码装置,其特征在于,包括:
二维码图形确定模块,确定二维码图形的字节码信息、以及所述二维码图形中的明文定位符、密文定位符、以及识别号,所述明文定位符表征明文字节码在所述二维码图形中的位置,所述密文字节符表征密文字节码在所述二维码图形中的位置;
明文数据得到模块,根据所述明文定位符,对所述字节码信息中与所述明文定位符相对应的字节码信息进行解码,得到明文数据;
密文字节码确定模块,根据所述密文定位符,确定所述字节码信息中的密文字节码信息;
字节码信息确定模块,根据所述识别号,确定所述字节码信息中的日期信息和密钥序号信息;
目标密钥确定模块,根据所述日期信息和密钥序号信息,确定目标密钥;
密文数据得到模块,根据所述目标密钥,对所述密文字节码信息进行解码,得到密文数据;
原始数据得到模块,根据所述明文数据、以及所述密文数据,得到所述二维码图形的原始数据。
13.一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1至10中任一项所述的方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311480755.1A CN117371475A (zh) | 2023-11-08 | 2023-11-08 | 二维码的构建方法、解码方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311480755.1A CN117371475A (zh) | 2023-11-08 | 2023-11-08 | 二维码的构建方法、解码方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117371475A true CN117371475A (zh) | 2024-01-09 |
Family
ID=89391026
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311480755.1A Pending CN117371475A (zh) | 2023-11-08 | 2023-11-08 | 二维码的构建方法、解码方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117371475A (zh) |
-
2023
- 2023-11-08 CN CN202311480755.1A patent/CN117371475A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8948376B2 (en) | Format-preserving encryption via rotating block encryption | |
JP2021513141A (ja) | 2次元バーコードの生成及び識別 | |
CN116032474B (zh) | 一种基于大数据计算机网络安全防护系统 | |
EP2765531A1 (en) | Two-dimensional code authentication device, two-dimensional code generation device, two-dimensional code authentication method and program | |
US10797857B2 (en) | Data interleaving scheme for an external memory of a secure microcontroller | |
Barker et al. | Sp 800-90a. recommendation for random number generation using deterministic random bit generators | |
CN107534549B (zh) | 可读存储介质、用于数据流字块加密的方法及系统 | |
US20200097256A1 (en) | A calculation device for encoded addition | |
CN110210211A (zh) | 一种数据保护的方法和计算设备 | |
CN117640256B (zh) | 一种无线网卡的数据加密方法、推荐装置和存储介质 | |
CN114840861A (zh) | 数据处理方法、装置、设备及存储介质 | |
CN117336018A (zh) | 生理体征监测数据的加密解密方法与装置 | |
US20100194609A1 (en) | Method and Device For Coding Data Words | |
CN117708847B (zh) | 基于数据压缩与加密的3c产品租赁平台数据处理方法 | |
WO2024113874A1 (zh) | 环形二维码的编码方法和解码方法 | |
WO2019114084A1 (zh) | 多数字位号码的加密、解密方法以及加密、解密服务器 | |
CN117371475A (zh) | 二维码的构建方法、解码方法、装置、设备及存储介质 | |
CN109214488B (zh) | 一种基于图形编码数据进行信息传递的方法及系统 | |
US10853609B2 (en) | Hybrid two-dimensional barcode reader | |
CN114239779A (zh) | 一种数据传输方法、传输系统、采集设备及接收设备 | |
CN112614557A (zh) | 电子病历加密存档方法 | |
CN109245884B (zh) | 风力发电机组的数据通信方法及装置 | |
CN108959949B (zh) | 一种通过图形编码数据进行安全的信息传递的方法及系统 | |
CN112613054A (zh) | 一种基于grs码的电子档案验证方法、装置、电子设备 | |
US7529365B2 (en) | Device and method of applying check bit to encrypt instruction for protection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |