CN110991591A - 二维码的编解码方法、装置、编码设备和解码设备 - Google Patents
二维码的编解码方法、装置、编码设备和解码设备 Download PDFInfo
- Publication number
- CN110991591A CN110991591A CN202010140156.5A CN202010140156A CN110991591A CN 110991591 A CN110991591 A CN 110991591A CN 202010140156 A CN202010140156 A CN 202010140156A CN 110991591 A CN110991591 A CN 110991591A
- Authority
- CN
- China
- Prior art keywords
- hidden information
- dimensional code
- decoding
- information
- hidden
- 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
Images
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
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本说明书提出了一种二维码的编解码方法、装置、编码设备和解码设备,其中,上述二维码的编码方法中,获取待编码的信息之后,对上述待编码的信息进行二维码编码;其中,编码获得的二维码包括数据区域和空余区域,上述数据区域包括上述待编码的信息和结束标记,上述结束标记用于标识上述数据区域结束;上述空余区域位于上述结束标记之后,上述空余区域中包括隐藏信息。
Description
技术领域
本说明书涉及互联网技术领域,尤其涉及一种二维码的编解码方法、装置、编码设备和解码设备。
背景技术
二维码又称二维条码,常见的二维码为QR Code,QR全称Quick Response,二维码是近年来移动设备上比较常用的一种编码方式,与传统的条形码(Bar Code)相比,二维码能存储更多的数据,也能表示更多的数据类型。
现有相关技术中提供的二维码编码方案,在数据区域编码完之后,以一个结束标记(标准使用的是4个比特“0000”)表示数据区域结束,结束标记后的空余数据区域写入随机数据。
发明内容
本说明书实施例提供了一种二维码的编解码方法、装置、编码设备和解码设备,以实现在二维码中添加隐藏信息,在兼容现有二维码标准的前提下使二维码具有同时传输公开数据和隐藏信息的能力。
第一方面,本说明书实施例提供一种二维码的编码方法,包括:
获取待编码的信息;
对所述待编码的信息进行二维码编码;其中,编码获得的二维码对应的数据段包括数据区域和空余区域,所述数据区域包括所述待编码的信息和结束标记,所述结束标记用于标识所述数据区域结束;所述空余区域位于所述结束标记之后,所述空余区域中包括隐藏信息;
发送所述编码获得的二维码。
其中一种可能的实现方式中,所述隐藏信息包括隐藏信息头标记和隐藏信息体;或者,所述隐藏信息包括隐藏信息头标记、隐藏信息体和结束符。
其中一种可能的实现方式中,所述隐藏信息包括加密的隐藏信息。
其中一种可能的实现方式中,所述隐藏信息包括可校验的隐藏信息。
上述二维码的编码方法中,获取待编码的信息之后,对上述待编码的信息进行二维码编码;其中,编码获得的二维码包括数据区域和空余区域,上述数据区域包括上述待编码的信息和结束标记,上述结束标记用于标识上述数据区域结束;上述空余区域位于上述结束标记之后,上述空余区域中包括隐藏信息,从而可以实现将一些不宜公开的隐藏信息编码进二维码中传输,由于通用的二维码解码器可以读取数据区域中的公开数据,无法读取空余区域中的隐藏信息,因此可以在兼容现有二维码标准的前提下,使二维码具有同时传输公开数据和隐藏信息的能力。另外,由于通用的二维码解码器无法读取空余区域中的隐藏信息,因此对上述二维码进行二次编码会丢失上述隐藏信息,这样根据二维码中是否包括隐藏信息可以确定二维码是否被二次编码,提高二维码的安全性。
第二方面,本说明书实施例提供一种二维码的解码方法,包括:
获取待解码的二维码;
对所述二维码进行解码,获得所述二维码对应的数据段的数据区域中包括的信息和所述数据区域的结束标记;
判断所述结束标记之后的空余区域中是否包括隐藏信息;
如果是,则对所述隐藏信息进行解码;
将所述数据区域中包括的信息和解码后的隐藏信息发送到应用层。
其中一种可能的实现方式中,所述判断所述结束标记之后的空余区域中是否包括隐藏信息包括:
判断所述结束标记之后的空余区域中是否包括隐藏信息头标记和隐藏信息体;
如果所述空余区域中包括隐藏信息头标记和隐藏信息体,则确定所述空余区域中包括隐藏信息。
其中一种可能的实现方式中,所述对所述隐藏信息进行解码包括:
对所述隐藏信息进行解密,并对解密后的隐藏信息进行解码;或者,
对所述隐藏信息进行解码,并对解码后的隐藏信息进行解密。
其中一种可能的实现方式中,所述对所述隐藏信息进行解码包括:
根据所述隐藏信息采用的校验方式对所述隐藏信息的正确性进行校验;以及在所述隐藏信息的正确性通过校验之后,对所述隐藏信息进行解码;
或者,
对所述隐藏信息进行解码,并根据所述隐藏信息采用的校验方式对解码获得的隐藏信息的正确性进行校验,在解码获得的隐藏信息的正确性通过校验之后,执行所述将所述数据区域中包括的信息和解码后的隐藏信息发送到应用层的步骤。
本实施例在对二维码进行解码时,首先获得上述二维码对应的数据段的数据区域中包括的信息和上述数据区域的结束标记,在读取到上述结束标记之后并不立即结束,而是继续尝试读取上述结束标记之后的空余区域中的隐藏信息,当隐藏信息读取成功时, 将隐藏信息作为结果的一部分返回给应用层处理。
第三方面,本说明书实施例提供一种二维码的编码装置,包括:
获取模块,用于获取待编码的信息;
编码模块,用于对所述获取模块获取的待编码的信息进行二维码编码;其中,编码获得的二维码对应的数据段包括数据区域和空余区域,所述数据区域包括所述待编码的信息和结束标记,所述结束标记用于标识所述数据区域结束;所述空余区域位于所述结束标记之后,所述空余区域中包括隐藏信息;
发送模块,用于发送所述编码获得的二维码。
其中一种可能的实现方式中,所述隐藏信息包括隐藏信息头标记和隐藏信息体;或者,所述隐藏信息包括隐藏信息头标记、隐藏信息体和结束符。
其中一种可能的实现方式中,所述隐藏信息包括加密的隐藏信息。
其中一种可能的实现方式中,所述隐藏信息包括可校验的隐藏信息。
第四方面,本说明书实施例提供一种二维码的解码装置,包括:
获取模块,用于获取待解码的二维码;
解码模块,用于对所述二维码进行解码,获得所述二维码对应的数据段的数据区域中包括的信息和所述数据区域的结束标记;
判断模块,用于判断所述结束标记之后的空余区域中是否包括隐藏信息;
所述解码模块,还用于当所述空余区域中包括隐藏信息时,对所述隐藏信息进行解码;
发送模块,用于将所述数据区域中包括的信息和解码后的隐藏信息发送到应用层。
其中一种可能的实现方式中,所述判断模块,具体用于判断所述结束标记之后的空余区域中是否包括隐藏信息头标记和隐藏信息体;如果所述空余区域中包括隐藏信息头标记和隐藏信息体,则确定所述空余区域中包括隐藏信息。
其中一种可能的实现方式中,所述解码模块,具体用于对所述隐藏信息进行解密,并对解密后的隐藏信息进行解码;或者,对所述隐藏信息进行解码,并对解码后的隐藏信息进行解密。
其中一种可能的实现方式中,所述解码模块,具体用于根据所述隐藏信息采用的校验方式对所述隐藏信息的正确性进行校验;以及在所述隐藏信息的正确性通过校验之后,对所述隐藏信息进行解码;
或者,所述解码模块,具体用于对所述隐藏信息进行解码,并根据所述隐藏信息采用的校验方式对解码获得的隐藏信息的正确性进行校验,在解码获得的隐藏信息的正确性通过校验之后,由所述发送模块执行所述将所述数据区域中包括的信息和解码后的隐藏信息发送到应用层的步骤。
第五方面,本说明书实施例提供一种编码设备,包括:
至少一个处理器;以及
与所述处理器通信连接的至少一个存储器,其中:
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行第一方面提供的方法。
第六方面,本说明书实施例提供一种解码设备,包括:
至少一个处理器;以及
与所述处理器通信连接的至少一个存储器,其中:
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行第二方面提供的方法。
应当理解的是,本说明书的第三和第五方面与本说明书的第一方面的技术方案一致,各方面及对应的可行实施方式所取得的有益效果相似,不再赘述;
本说明书的第四和第六方面与本说明书的第二方面的技术方案一致,各方面及对应的可行实施方式所取得的有益效果相似,不再赘述。
附图说明
为了更清楚地说明本说明书实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本说明书二维码的编码方法一个实施例的流程图;
图2为本说明书二维码的编码方法中添加隐藏数据后的数据段一个实施例的示意图;
图3为本说明书二维码的编码方法中隐藏数据段一个实施例的示意图;
图4为本说明书二维码的解码方法一个实施例的流程图;
图5为本说明书二维码的编码装置一个实施例的结构示意图;
图6为本说明书二维码的解码装置另一个实施例的结构示意图;
图7为本说明书编码设备一个实施例的结构示意图。
具体实施方式
为了更好的理解本说明书的技术方案,下面结合附图对本说明书实施例进行详细描述。
应当明确,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本说明书保护的范围。
在本说明书实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
二维码是现在移动设备上比较流行的一种编码方式,与传统的条形码(Bar Code)相比,二维码能存储更多的数据,也能表示更多的数据类型,下面对二维码进行介绍。
1)二维码标准指标准ISO-IEC 18004-2015;
2)二维码版本:二维码的一个属性,表示二维码点阵的密度,版本越高,二维码越密,相同容错情况下二维码数据容量越大;
3)二维码可用性:评估一张二维码发布以后的鲁棒性,受多种因素影响,举例来说,二维码铺装后可能受到外界影响,如污损、掉色和/或反光等,最后达到无法识别的程度;
4)二维码二次编码:通过二维码解码器读取二维码中的信息之后,将上述信息再次编码,达到一些目的(例如:美化二维码或修改容错等级等),这么做可能影响发布的二维码的可用性。
现有相关技术中提供的二维码编码方案,在数据区域编码完之后,以一个结束标记(标准使用的是4个比特“0000”)表示数据区域结束,结束标记后的空余数据区域写入随机数据。这种二维码的编码方案,浪费空余数据区域,并且由于二维码中的数据内容可以通过标准解码器读取,因此通过上述编码方案获得的二维码没有同时传输公开和隐藏数据的能力。
本说明书实施例提供一种二维码的编解码方法,可以实现在二维码中添加隐藏信息,在兼容现有二维码标准的前提下使二维码具有同时传输公开数据和隐藏信息的能力。
图1为本说明书二维码的编码方法一个实施例的流程图,如图1所示,上述二维码的编码方法可以包括:
步骤102,获取待编码的信息。
其中,上述待编码的信息可以包括字符串、文字、图片或音频等等,本实施例对上述待编码的信息的数据类型不作限定。
步骤104,对上述待编码的信息进行二维码编码;其中,编码获得的二维码对应的数据段包括数据区域和空余区域,上述数据区域包括上述待编码的信息和结束标记,上述结束标记用于标识上述数据区域结束;上述空余区域位于上述结束标记之后,上述空余区域中包括隐藏信息。
其中,上述数据区域和结束标记即为二维码标准中规定的数据区域和结束标记,上述数据区域中包括的待编码的信息为公开数据,可以通过通用的二维码解码器解码获得;上述结束标记用于标识上述数据区域结束,上述结束标记可以使用4个比特“0000”。
具体地,图2为本说明书二维码的编码方法中添加隐藏数据后的数据段一个实施例的示意图,图2中,添加隐藏数据后的数据段即为添加隐藏信息后的二维码对应的数据段,图2中的隐藏数据段即为上述隐藏信息,隐藏数据段所在的区域为二维码对应的数据段中的空余区域;空余区域位于Terminator之后,Terminator为二维码对应的数据段中的数据区域的结束标记,图2中的标准编码后的数据段位于上述数据区域。
本实施例中,上述数据区域的结束标记之后的空余区域中包括隐藏信息,本实施例通过将隐藏信息编码到上述二维码中,可以实现将一些不宜公开的隐藏信息编码进二维码中传输,由于通用的二维码解码器可以读取数据区域中的公开数据,无法读取空余区域中的隐藏信息,因此可以在兼容现有二维码标准的前提下,使二维码具有同时传输公开数据和隐藏信息的能力。
另外,由于通用的二维码解码器无法读取空余区域中的隐藏信息,因此再对上述二维码进行二次编码就会丢失上述隐藏信息,这样根据二维码中是否包括隐藏信息可以确定二维码是否被二次编码,提高了二维码的安全性,具体地,如果二维码中包括隐藏信息,则二维码未被二次编码,而如果二维码中不包括隐藏信息,则上述二维码被二次编码。
本实施例的一种实现方式中,上述隐藏信息包括隐藏信息头标记和隐藏信息体;或者,上述隐藏信息包括隐藏信息头标记、隐藏信息体和结束符。
图3为本说明书二维码的编码方法中隐藏数据段一个实施例的示意图,图3示出了上述隐藏信息的结构,图3中的特定的头标记即为上述隐藏信息包括的隐藏信息头标记,图3中的隐藏数据体即为上述隐藏信息包括的隐藏信息体,图3中的隐藏数据结束标记即为上述隐藏信息包括的结束符,如图3所示,上述结束符是可选的,也就是说,上述隐藏信息可以包括结束符,也可以不包括结束符。图3所示的隐藏信息的结构仅为一种示例,上述隐藏信息的结构可以自行定义,本实施例对上述隐藏信息的结构不作限定。
本实施例的另一种实现方式中,上述隐藏信息可以包括加密的隐藏信息。也就是说,可以对上述隐藏信息进行加密后再编码到二维码中,上述隐藏信息的加密方式可以在具体实现时自行定义,本实施例对上述隐藏信息的加密方式不作限定。
本实施例的再一种实现方式中,上述隐藏信息包括可校验的隐藏信息,也就是说,可以将上述隐藏信息设计成可校验的隐藏信息,以对上述隐藏信息的正确性进行校验。具体地,上述隐藏信息采用的校验方式可以在具体实现时自行定义,本实施例对上述隐藏信息采用的校验方式不作限定,举例来说,上述隐藏信息可以采用奇偶校验、循环冗余校验(Cyclic Redundancy Check;以下简称:CRC)或信息摘要算法5(Message-DigestAlgorithm 5;以下简称:MD5)校验等校验方式。
当然,上述两种实现方式可以单独使用,也可以将加密和校验结合使用,也就是说,上述隐藏信息可以既是加密的隐藏信息,又是可校验的隐藏信息。
另外,本实施例中,当隐藏信息的长度较长,无法放在Terminator之后的空余区域内时,可以主动提升二维码的版本,以提升二维码的数据容量,从而提升二维码对应的数据段的空余区域的数据容量,这样就可以将长度较长的隐藏信息放入上述空余区域。
步骤106,发送编码获得的二维码。
在具体实现时,可以将编码获得的二维码发送给客户端,接收到二维码之后,客户端可以展示或打印接收到的二维码,本实施例对此不作限定。
上述二维码的编码方法中,获取待编码的信息之后,对上述待编码的信息进行二维码编码;其中,编码获得的二维码包括数据区域和空余区域,上述数据区域包括上述待编码的信息和结束标记,上述结束标记用于标识上述数据区域结束;上述空余区域位于上述结束标记之后,上述空余区域中包括隐藏信息,从而可以实现将一些不宜公开的隐藏信息编码进二维码中传输,由于通用的二维码解码器可以读取数据区域中的公开数据,无法读取空余区域中的隐藏信息,因此可以在兼容现有二维码标准的前提下,使二维码具有同时传输公开数据和隐藏信息的能力。另外,由于通用的二维码解码器无法读取空余区域中的隐藏信息,因此对上述二维码进行二次编码会丢失上述隐藏信息,这样根据二维码中是否包括隐藏信息可以确定二维码是否被二次编码,提高二维码的安全性。
图4为本说明书二维码的解码方法一个实施例的流程图,如图4所示,上述二维码的解码方法可以包括:
步骤402,获取待解码的二维码。
步骤404,对上述二维码进行解码,获得上述二维码对应的数据段的数据区域中包括的信息和上述数据区域的结束标记。
步骤406,判断上述结束标记之后的空余区域中是否包括隐藏信息。如果是,则执行步骤408;如果上述结束标记之后的空余区域中不包括隐藏信息,则结束本次流程。
具体地,判断上述结束标记之后的空余区域中是否包括隐藏信息可以为:判断上述结束标记之后的空余区域中是否包括隐藏信息头标记和隐藏信息体;如果上述空余区域中包括隐藏信息头标记和隐藏信息体,则确定上述空余区域中包括隐藏信息。反之,如果上述空余区域中不包括隐藏信息头标记,或上述空余区域中不包括隐藏信息体,则确定上述空余区域中不包括隐藏信息。
步骤408,对上述隐藏信息进行解码。
本实施例的一种实现方式中,对上述隐藏信息进行解码可以为:对上述隐藏信息进行解密,并对解密后的隐藏信息进行解码;或者,对上述隐藏信息进行解码,并对解码后的隐藏信息进行解密。
也就是说,上述隐藏信息可以为加密的隐藏信息,这样,在对隐藏信息进行解码时,需要对隐藏信息进行解密,当然,本实施例对解密和解码的执行顺序并不限定,可以先解密再解码,也可以先解码再解密。
本实施例的另一种实现方式中,对上述隐藏信息进行解码可以为:根据上述隐藏信息采用的校验方式对上述隐藏信息的正确性进行校验;以及在上述隐藏信息的正确性通过校验之后,对上述隐藏信息进行解码;或者,
对上述隐藏信息进行解码,并根据上述隐藏信息采用的校验方式对解码获得的隐藏信息的正确性进行校验,在解码获得的隐藏信息的正确性通过校验之后,执行步骤410。
也就是说,上述隐藏信息为可校验的隐藏信息,在对隐藏信息进行解码时,需要根据上述隐藏信息采用的校验方式对上述隐藏信息的正确性进行校验,当然,本实施例对校验和解码的执行顺序并不限定,可以先校验再解码,也可以先解码再校验。
当上述隐藏信息既是加密的隐藏信息,又是可校验的隐藏信息时,那么在对隐藏信息进行解码时,则需要进行解密、校验和解码这三种操作。
步骤410,将上述数据区域中包括的信息和解码后的隐藏信息发送到应用层。
也就是说,本实施例在对二维码进行解码时,首先获得上述二维码对应的数据段的数据区域中包括的信息和上述数据区域的结束标记,在读取到上述结束标记之后并不立即结束,而是继续尝试读取上述结束标记之后的空余区域中的隐藏信息,当隐藏信息读取成功时, 将隐藏信息作为结果的一部分返回给应用层处理。
本说明书实施例提供的二维码的编解码方法的一个应用场景可以如下所述:假设第一用户需要向第二用户收钱,第一用户点击自己电子设备中安装的支付应用客户端中的“收钱”图标,这相当于向上述支付应用对应的服务器发送了生成收钱二维码的请求,上述支付应用对应的服务器接收到请求之后,获取待编码的信息,此处,待编码的信息可以包括第一用户在上述支付应用对应的服务器上注册的账户信息。
然后,上述支付应用对应的服务器对上述待编码的信息进行二维码编码;其中,编码获得的二维码对应的数据段包括数据区域和空余区域,上述数据区域包括上述待编码的信息和结束标记,上述结束标记用于标识上述数据区域结束;上述空余区域位于上述结束标记之后,上述空余区域中包括隐藏信息;
接下来,上述支付应用对应的服务器将编码获得的二维码发送给第一用户使用的支付应用客户端,第一用户使用的支付应用客户端展示接收到的二维码。
然后,第二用户使用自己电子设备上安装的支付应用客户端扫描展示的二维码,支付应用对应的服务器获取待解码的二维码,对上述二维码进行解码,获得上述二维码对应的数据段的数据区域中包括的信息和上述数据区域的结束标记,判断上述结束标记之后的空余区域中是否包括隐藏信息,这里,支付应用对应的服务器确定上述空余区域中包括隐藏信息,于是继续对上述隐藏信息进行解码。
本说明书实施例中,根据解码获得的隐藏信息,支付应用对应的服务器可以确定上述第二用户使用的支付应用客户端扫描的二维码,确实是由上述支付应用对应的服务器生成的,并且上述二维码未被二次编码,于是,支付应用对应的服务器可以将上述数据区域中包括的信息和解码后的隐藏信息发送到应用层,完成后续的收钱操作。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
图5为本说明书二维码的编码装置一个实施例的结构示意图,本实施例中的二维码的编码装置可以作为服务器,或服务器的一部分实现本说明书图1所示实施例提供的二维码的编码方法。如图5所示,上述二维码的编码装置可以包括:获取模块51、编码模块52和发送模块53;
其中,获取模块51,用于获取待编码的信息;
编码模块52,用于对获取模块51获取的待编码的信息进行二维码编码;其中,编码获得的二维码对应的数据段包括数据区域和空余区域,上述数据区域包括上述待编码的信息和结束标记,上述结束标记用于标识上述数据区域结束;上述空余区域位于上述结束标记之后,上述空余区域中包括隐藏信息;
发送模块53,用于发送编码获得的二维码。
其中一种可能的实现方式中,上述隐藏信息包括隐藏信息头标记和隐藏信息体;或者,上述隐藏信息包括隐藏信息头标记、隐藏信息体和结束符。
其中一种可能的实现方式中,上述隐藏信息包括加密的隐藏信息。
其中一种可能的实现方式中,所述隐藏信息包括可校验的隐藏信息。
图5所示实施例提供的二维码的编码装置可用于执行本申请图1所示方法实施例的技术方案,其实现原理和技术效果可以进一步参考方法实施例中的相关描述。
图6为本说明书二维码的解码装置另一个实施例的结构示意图,本实施例中的二维码的解码装置可以作为服务器,或服务器的一部分实现本说明书图4所示实施例提供的二维码的解码方法。如图6所示,上述二维码的解码装置可以包括:获取模块61、解码模块62、判断模块63和发送模块64;
其中,获取模块61,用于获取待解码的二维码;
解码模块62,用于对上述二维码进行解码,获得上述二维码对应的数据段的数据区域中包括的信息和上述数据区域的结束标记;
判断模块63,用于判断上述结束标记之后的空余区域中是否包括隐藏信息;
解码模块62,还用于当上述空余区域中包括隐藏信息时,对上述隐藏信息进行解码;
发送模块64,用于将上述数据区域中包括的信息和解码后的隐藏信息发送到应用层。
其中一种可能的实现方式中,判断模块63,具体用于判断上述结束标记之后的空余区域中是否包括隐藏信息头标记和隐藏信息体;如果上述空余区域中包括隐藏信息头标记和隐藏信息体,则确定上述空余区域中包括隐藏信息。
其中一种可能的实现方式中,解码模块62,具体用于对上述隐藏信息进行解密,并对解密后的隐藏信息进行解码;或者,对上述隐藏信息进行解码,并对解码后的隐藏信息进行解密。
其中一种可能的实现方式中,解码模块62,具体用于根据上述隐藏信息采用的校验方式对上述隐藏信息的正确性进行校验;以及在上述隐藏信息的正确性通过校验之后,对上述隐藏信息进行解码;
或者,解码模块62,具体用于对上述隐藏信息进行解码,并根据上述隐藏信息采用的校验方式对解码获得的隐藏信息的正确性进行校验,在解码获得的隐藏信息的正确性通过校验之后,由发送模块64执行将上述数据区域中包括的信息和解码后的隐藏信息发送到应用层的步骤。
图6所示实施例提供的二维码的解码装置可用于执行本申请图4所示方法实施例的技术方案,其实现原理和技术效果可以进一步参考方法实施例中的相关描述。
图7为本说明书编码设备一个实施例的结构示意图,如图7所示,上述支付设备可以包括至少一个处理器;以及与上述处理器通信连接的至少一个存储器,其中:存储器存储有可被处理器执行的程序指令,上述处理器调用上述程序指令能够执行本说明书图1所示实施例提供的二维码的编码方法。
其中,上述编码设备可以为服务器,例如:支付应用对应的服务器,本实施例对上述编码设备的形态不作限定。
图7示出了适于用来实现本说明书实施方式的示例性编码设备的框图。图7显示的编码设备仅仅是一个示例,不应对本说明书实施例的功能和使用范围带来任何限制。
如图7所示,编码设备以通用计算设备的形式表现。编码设备的组件可以包括但不限于:一个或者多个处理器410,存储器430,连接不同系统组件(包括存储器430和处理单元410)的通信总线440。
通信总线440表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(Industry StandardArchitecture;以下简称:ISA)总线,微通道体系结构(Micro Channel Architecture;以下简称:MAC)总线,增强型ISA总线、视频电子标准协会(Video Electronics StandardsAssociation;以下简称:VESA)局域总线以及外围组件互连(Peripheral ComponentInterconnection;以下简称:PCI)总线。
编码设备典型地包括多种计算机系统可读介质。这些介质可以是任何能够被编码设备访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器430可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(Random Access Memory;以下简称:RAM)和/或高速缓存存储器。编码设备可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。存储器430可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本说明书各实施例的功能。
具有一组(至少一个)程序模块的程序/实用工具,可以存储在存储器430中,这样的程序模块包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块通常执行本说明书所描述的实施例中的功能和/或方法。
处理器410通过运行存储在存储器430中的程序,从而执行各种功能应用以及数据处理,例如实现本说明书图1所示实施例提供的二维码的编码方法。
本说明书实施例还提供一种解码设备,包括:至少一个处理器;以及与上述处理器通信连接的至少一个存储器,其中:存储器存储有可被上述处理器执行的程序指令,上述处理器调用上述程序指令能够执行本说明书图4所示实施例提供的二维码的解码方法。在具体实现时,上述解码设备可以采用图7所示的结构实现,在此不再赘述。
本说明书实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行本说明书图1所示实施例提供的二维码的编码方法。
本说明书实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行本说明书图4所示实施例提供的二维码的解码方法。
上述非暂态计算机可读存储介质可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(Read Only Memory;以下简称:ROM)、可擦式可编程只读存储器(Erasable ProgrammableRead Only Memory;以下简称:EPROM)或闪存、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本说明书操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LocalArea Network;以下简称:LAN)或广域网(Wide Area Network;以下简称:WAN)连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本说明书的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本说明书的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本说明书的实施例所属技术领域的技术人员所理解。
取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
需要说明的是,本说明书实施例中所涉及的终端可以包括但不限于个人计算机(Personal Computer;以下简称:PC)、个人数字助理(Personal Digital Assistant;以下简称:PDA)、无线手持设备、平板电脑(Tablet Computer)、手机、MP3播放器、MP4播放器等。
在本说明书所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本说明书各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机装置(可以是个人计算机,服务器,或者网络装置等)或处理器(Processor)执行本说明书各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory;以下简称:ROM)、随机存取存储器(Random Access Memory;以下简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。
Claims (20)
1.一种二维码的编码方法,其特征在于,包括:
获取待编码的信息;
对所述待编码的信息进行二维码编码;其中,编码获得的二维码对应的数据段包括数据区域和空余区域,所述数据区域包括所述待编码的信息和结束标记,所述结束标记用于标识所述数据区域结束;所述空余区域位于所述结束标记之后,所述空余区域中包括隐藏信息;
发送所述编码获得的二维码。
2.根据权利要求1所述的方法,其特征在于,所述隐藏信息包括隐藏信息头标记和隐藏信息体;或者,所述隐藏信息包括隐藏信息头标记、隐藏信息体和结束符。
3.根据权利要求1或2所述的方法,其特征在于,所述隐藏信息包括加密的隐藏信息。
4.根据权利要求1或2所述的方法,其特征在于,所述隐藏信息包括可校验的隐藏信息。
5.一种二维码的解码方法,其特征在于,包括:
获取待解码的二维码;
对所述二维码进行解码,获得所述二维码对应的数据段的数据区域中包括的信息和所述数据区域的结束标记;
判断所述结束标记之后的空余区域中是否包括隐藏信息;
如果是,则对所述隐藏信息进行解码;
将所述数据区域中包括的信息和解码后的隐藏信息发送到应用层。
6.根据权利要求5所述的方法,其特征在于,所述判断所述结束标记之后的空余区域中是否包括隐藏信息包括:
判断所述结束标记之后的空余区域中是否包括隐藏信息头标记和隐藏信息体;
如果所述空余区域中包括隐藏信息头标记和隐藏信息体,则确定所述空余区域中包括隐藏信息。
7.根据权利要求5或6所述的方法,其特征在于,所述对所述隐藏信息进行解码包括:
对所述隐藏信息进行解密,并对解密后的隐藏信息进行解码;或者,
对所述隐藏信息进行解码,并对解码后的隐藏信息进行解密。
8.根据权利要求5或6所述的方法,其特征在于,所述对所述隐藏信息进行解码包括:
根据所述隐藏信息采用的校验方式对所述隐藏信息的正确性进行校验;以及在所述隐藏信息的正确性通过校验之后,对所述隐藏信息进行解码;
或者,
对所述隐藏信息进行解码,并根据所述隐藏信息采用的校验方式对解码获得的隐藏信息的正确性进行校验,在解码获得的隐藏信息的正确性通过校验之后,执行所述将所述数据区域中包括的信息和解码后的隐藏信息发送到应用层的步骤。
9.一种二维码的编码装置,其特征在于,包括:
获取模块,用于获取待编码的信息;
编码模块,用于对所述获取模块获取的待编码的信息进行二维码编码;其中,编码获得的二维码对应的数据段包括数据区域和空余区域,所述数据区域包括所述待编码的信息和结束标记,所述结束标记用于标识所述数据区域结束;所述空余区域位于所述结束标记之后,所述空余区域中包括隐藏信息;
发送模块,用于发送所述编码获得的二维码。
10.根据权利要求9所述的装置,其特征在于,所述隐藏信息包括隐藏信息头标记和隐藏信息体;或者,所述隐藏信息包括隐藏信息头标记、隐藏信息体和结束符。
11.根据权利要求9或10所述的装置,其特征在于,所述隐藏信息包括加密的隐藏信息。
12.根据权利要求9或10所述的装置,其特征在于,所述隐藏信息包括可校验的隐藏信息。
13.一种二维码的解码装置,其特征在于,包括:
获取模块,用于获取待解码的二维码;
解码模块,用于对所述二维码进行解码,获得所述二维码对应的数据段的数据区域中包括的信息和所述数据区域的结束标记;
判断模块,用于判断所述结束标记之后的空余区域中是否包括隐藏信息;
所述解码模块,还用于当所述空余区域中包括隐藏信息时,对所述隐藏信息进行解码;
发送模块,用于将所述数据区域中包括的信息和解码后的隐藏信息发送到应用层。
14.根据权利要求13所述的装置,其特征在于,
所述判断模块,具体用于判断所述结束标记之后的空余区域中是否包括隐藏信息头标记和隐藏信息体;如果所述空余区域中包括隐藏信息头标记和隐藏信息体,则确定所述空余区域中包括隐藏信息。
15.根据权利要求13或14所述的装置,其特征在于,
所述解码模块,具体用于对所述隐藏信息进行解密,并对解密后的隐藏信息进行解码;或者,对所述隐藏信息进行解码,并对解码后的隐藏信息进行解密。
16.根据权利要求13或14所述的装置,其特征在于,
所述解码模块,具体用于根据所述隐藏信息采用的校验方式对所述隐藏信息的正确性进行校验;以及在所述隐藏信息的正确性通过校验之后,对所述隐藏信息进行解码;
或者,所述解码模块,具体用于对所述隐藏信息进行解码,并根据所述隐藏信息采用的校验方式对解码获得的隐藏信息的正确性进行校验,在解码获得的隐藏信息的正确性通过校验之后,由所述发送模块执行所述将所述数据区域中包括的信息和解码后的隐藏信息发送到应用层的步骤。
17.一种编码设备,其特征在于,包括:
至少一个处理器;以及
与所述处理器通信连接的至少一个存储器,其中:
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1至4任一所述的方法。
18.一种解码设备,其特征在于,包括:
至少一个处理器;以及
与所述处理器通信连接的至少一个存储器,其中:
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求5至8任一所述的方法。
19.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如权利要求1至4任一所述的方法。
20.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如权利要求5至8任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010140156.5A CN110991591A (zh) | 2020-03-03 | 2020-03-03 | 二维码的编解码方法、装置、编码设备和解码设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010140156.5A CN110991591A (zh) | 2020-03-03 | 2020-03-03 | 二维码的编解码方法、装置、编码设备和解码设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110991591A true CN110991591A (zh) | 2020-04-10 |
Family
ID=70081306
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010140156.5A Pending CN110991591A (zh) | 2020-03-03 | 2020-03-03 | 二维码的编解码方法、装置、编码设备和解码设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110991591A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113435558A (zh) * | 2021-07-19 | 2021-09-24 | 三维码(厦门)网络科技有限公司 | 一种含隐藏信息的三维码编码方法、解码方法及防伪方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102622630A (zh) * | 2012-02-24 | 2012-08-01 | 南京大学 | 一种利用qr码储存私密数据的方法 |
CN103049777A (zh) * | 2012-11-15 | 2013-04-17 | 江苏缨思贝睿物联网科技有限公司 | 二维码的安全应用方法及编解码系统 |
CN103400173A (zh) * | 2013-07-25 | 2013-11-20 | 中国科学院信息工程研究所 | 一种含隐私信息的二维码生成及读取方法 |
CN103605950A (zh) * | 2013-11-25 | 2014-02-26 | 广西大学 | 一种可信二维码中签名的隐藏方法及系统 |
CN104281866A (zh) * | 2013-07-09 | 2015-01-14 | 航天信息股份有限公司 | 二维码的应用方法和装置 |
US9305181B1 (en) * | 2015-02-26 | 2016-04-05 | Bank Of America Corporation | Obfuscating private information using a transaction identifier |
CN105706118A (zh) * | 2013-10-30 | 2016-06-22 | 凸版Tdk标签株式会社 | 生成二维条码的方法、生成二维条码的装置、读取二维条码的方法、读取二维条码的装置、二维条码及程序 |
CN107992923A (zh) * | 2017-12-22 | 2018-05-04 | 北京中星仝创科技有限公司 | 一种qr二维码生成及读取的方法 |
-
2020
- 2020-03-03 CN CN202010140156.5A patent/CN110991591A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102622630A (zh) * | 2012-02-24 | 2012-08-01 | 南京大学 | 一种利用qr码储存私密数据的方法 |
CN103049777A (zh) * | 2012-11-15 | 2013-04-17 | 江苏缨思贝睿物联网科技有限公司 | 二维码的安全应用方法及编解码系统 |
CN104281866A (zh) * | 2013-07-09 | 2015-01-14 | 航天信息股份有限公司 | 二维码的应用方法和装置 |
CN103400173A (zh) * | 2013-07-25 | 2013-11-20 | 中国科学院信息工程研究所 | 一种含隐私信息的二维码生成及读取方法 |
CN105706118A (zh) * | 2013-10-30 | 2016-06-22 | 凸版Tdk标签株式会社 | 生成二维条码的方法、生成二维条码的装置、读取二维条码的方法、读取二维条码的装置、二维条码及程序 |
CN103605950A (zh) * | 2013-11-25 | 2014-02-26 | 广西大学 | 一种可信二维码中签名的隐藏方法及系统 |
US9305181B1 (en) * | 2015-02-26 | 2016-04-05 | Bank Of America Corporation | Obfuscating private information using a transaction identifier |
CN107992923A (zh) * | 2017-12-22 | 2018-05-04 | 北京中星仝创科技有限公司 | 一种qr二维码生成及读取的方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113435558A (zh) * | 2021-07-19 | 2021-09-24 | 三维码(厦门)网络科技有限公司 | 一种含隐藏信息的三维码编码方法、解码方法及防伪方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110119643B (zh) | 二维码生成方法及装置、二维码识别方法及装置 | |
CN110879903B (zh) | 证据存储方法、证据验证方法及装置、设备和介质 | |
CN103617531B (zh) | 基于可信二维码的安全支付方法和装置 | |
CN105512881B (zh) | 一种基于二维码完成支付的方法及终端 | |
CN106788995B (zh) | 文件加密方法及装置 | |
CN108683667B (zh) | 账户保护方法、装置、系统和存储介质 | |
WO2020233047A1 (zh) | 页面测试的方法及装置 | |
CN104252613A (zh) | 一种虚拟物品获取方法、装置及终端 | |
CN110545542B (zh) | 基于非对称加密算法的主控密钥下载方法、装置和计算机设备 | |
CN113656825B (zh) | 文本水印嵌入方法、文本篡改检测方法、装置和电子设备 | |
CN109088872B (zh) | 带使用期限的云平台的使用方法、装置、电子设备及介质 | |
CN110991591A (zh) | 二维码的编解码方法、装置、编码设备和解码设备 | |
CN107644168B (zh) | 一种信息提取的方法、终端及计算机可读存储介质 | |
CN113852687A (zh) | 一种区块链节点间文件传输方法 | |
CN110719590B (zh) | 基于手机号码的一键登录方法、装置、设备及存储介质 | |
CN110830479B (zh) | 基于多卡的一键登录方法、装置、设备及存储介质 | |
CN114826623B (zh) | 一种mock测试报文的处理方法及装置 | |
CN114584324B (zh) | 一种基于区块链的身份授权方法和系统 | |
CN112948869A (zh) | 数据交互方法、装置、计算机设备及存储介质 | |
CN113517982A (zh) | 口令的生成方法、口令的执行方法及终端 | |
US20210240956A1 (en) | Systems and methods for encoding executable code in barcodes | |
CN114626968A (zh) | 水印嵌入方法、水印提取方法和装置 | |
CN111178010B (zh) | 显示数字签名的方法及系统、数据编辑方法及终端 | |
CN112202794A (zh) | 交易数据的保护方法、装置、电子设备和介质 | |
CN111612115B (zh) | 交通卡的计次方法、装置、扫码设备和计次卡服务器 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200410 |
|
RJ01 | Rejection of invention patent application after publication |