CN106599964A - 一种二维码生成、验证方法及装置 - Google Patents
一种二维码生成、验证方法及装置 Download PDFInfo
- Publication number
- CN106599964A CN106599964A CN201611051056.5A CN201611051056A CN106599964A CN 106599964 A CN106599964 A CN 106599964A CN 201611051056 A CN201611051056 A CN 201611051056A CN 106599964 A CN106599964 A CN 106599964A
- Authority
- CN
- China
- Prior art keywords
- quick response
- response code
- information
- input information
- server
- 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
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
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06K—GRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
- G06K7/00—Methods or arrangements for sensing record carriers, e.g. for reading patterns
- G06K7/10—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
- G06K7/14—Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
- G06K7/1404—Methods for optical code recognition
- G06K7/1408—Methods for optical code recognition the method being specifically adapted for the type of code
- G06K7/1417—2D bar codes
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Electromagnetism (AREA)
- General Health & Medical Sciences (AREA)
- Toxicology (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种二维码生成、验证方法及装置,涉及信息安全技术领域,方法包括:服务器将输入信息生成第一二维码;所述服务器根据所述服务器对应的加密算法对所述输入信息进行加密,得到加密信息;所述服务器将加密信息生成第二二维码;所述服务器将第二二维码覆盖在所述第一二维码的设定区域内,生成针对所述输入信息的加密二维码;其中,所述设定区域的面积不大于所述第一二维码的容错面积,所述第一二维码与所述第二二维码为两种不同种类的二维码。本发明实施例中,由于在第一二维码的特定区域内覆盖了第二二维码,且第二二维码是根据输入信息进行加密后得到的,保证了生成的二维码的安全性。
Description
技术领域
本发明涉及信息安全技术领域,尤其涉及一种二维码生成、验证方法及装置。
背景技术
二维条码/二维码(2-dimensional bar code)是用某种特定的几何图形按一定规律在平面(二维方向上)分布的黑白相间的图形记录数据符号信息的;在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理:它具有条码技术的一些共性:每种码制有其特定的字符集;每个字符占有一定的宽度;具有一定的校验功能等。同时还具有对不同行的信息自动识别功能、及处理图形旋转变化点。
二维码可根据长文本、短文本、名片、网址、wifi配置信息、地理位置信息等字符串信息生成二维矩阵图像,通过解码工具即可解析,免除用户手动输入过程。二维码应用从商品溯源、扫码登陆到移动支付场景多样,且二维码制作成本低拍照即可传输,应用简单。
目前被广泛使用的二维码因为算法开源,所以在传输过程中存在植入木马或者被篡改的风险,也就是说,现有技术中不能提供一种安全的二维码生成、验证的方法。
发明内容
本发明提供一种二维码生成、验证方法及装置,用于解决现有技术中不能提供一种安全的二维码生成、验证的方法的问题。
本发明实施例提供一种二维码生成方法,所述方法包括:
服务器将输入信息生成第一二维码;
所述服务器根据所述服务器对应的加密算法对所述输入信息进行加密,得到加密信息;
所述服务器将加密信息生成第二二维码;
所述服务器将第二二维码覆盖在所述第一二维码的设定区域内,生成针对所述输入信息的加密二维码;
其中,所述设定区域的面积不大于所述第一二维码的容错面积,所述第一二维码与所述第二二维码为两种不同种类的二维码。
本发明实施例中,由于在第一二维码的特定区域内覆盖了第二二维码,且第二二维码是根据输入信息进行加密后得到的,保证了生成的二维码的安全性。
进一步地,所述服务器根据所述服务器对应的加密算法对所述输入信息进行加密,得到加密信息,包括:
所述服务器根据哈希算法以及所述输入信息确定针对所述输入信息的摘要信息;
所述服务器利用所述服务器的私钥对所述输入信息的摘要信息进行数字签名,得到加密信息。
本发明实施例中,利用哈希算法对输入信息进行加密,算法成熟,加密的效果好,并且将摘要信息利用服务器的私钥进行数字签名,保证了只有在能够获取服务器对应的公钥才能进行解密,进一步地保证了二维码的安全性。
本发明还提供一种二维码验证方法,所述方法包括:
获取目标二维码,其中所述目标二维码是由第一二维码以及第二二维码确定的,且所述第二二维码覆盖在所述第一二维码中的设定区域内;
调用第一解码器解析所述目标二维码得到所述第一二维码对应的输入信息;以及调用第二解码器解析所述目标二维码得到所述第二二维码对应的第一加密信息;
调用目标二维码对应的服务器的解密算法对所述第一加密信息进行解密,得到解密后的输入信息;
若确定解密码后的输入信息与所述第一二维码对应的输入信息匹配后,则确定所述目标二维码未被篡改。
本发明实施例中,当获取到目标二维码后,利用两个解码器分别对目标二维码中的两种二维码进行解析,并将第一加密信息进行解密,得到解密后的输入信息,并确定解密码后的输入信息与所述第一二维码对应的输入信息匹配后,则认为目标二维码中的信息没有被篡改。
进一步地,所述解析出所述第一二维码对应的输入信息以及所述第二二维码对应的第一加密信息后,还包括:
调用目标二维码对应的服务器的加密算法对所述输入信息进行加密,得到第二加密信息;
若确定所述第一加密信息与所述第二加密信息匹配后,则确定所述目标二维码未被篡改。
本发明实施例中,还可以利用利用与目标二维码对应的服务器的加密算法,对解析出的输入信息进行加密,并确定第一加密信息与第二加密信息是否匹配,即与解密不同,使用加密算法,为确定目标二维码是否被篡改提供了一种新的验证方法。
进一步地,所述调用第二解码器解析所述目标二维码得到所述第二二维码对应的第一加密信息后,还包括:
根据所述目标二维码对应的服务器的公钥确定所述第一加密信息中的第一摘要信息;
所述调用目标二维码对应的服务器的加密算法对所述输入信息进行加密,得到第二加密信息,包括:
根据目标二维码对应的服务器的哈希算法以及所述输入信息确定针对所述输入信息的第二摘要信息;
确定所述第一加密信息与所述第二加密信息匹配,包括:
若确定所述第一摘要信息与所述第二摘要信息一致,则确定所述第一加密信息与所述第二加密信息匹配。
本发明实施例中,首先根据目标二维码对应的服务器的公钥确定所述第一加密信息中的第一摘要信息,并利用与目标二维码对应的服务器的相同的哈希算法生成第二摘要信息,当确定第一摘要信息与所述第二摘要信息一致,则确定所述第一加密信息与所述第二加密信息匹配,即验证了目标二维码中在传输过程中没有被篡改过。
进一步地,所述方法还包括:
若确定所述第一加密信息与所述第二加密信息不匹配,则确定所述目标二维码被篡改。
本发明实施例中,若确定所述第一加密信息与所述第二加密信息不匹配,则说明目标二维码中的信息在传输过程中被篡改过。
本发明还提供一种二维码生成装置,包括:
第一二维码生成单元,用于将输入信息生成第一二维码;
加密信息生成单元,用于根据所述服务器对应的加密算法对所述输入信息进行加密,得到加密信息;
第二二维码生成单元,用于将加密信息生成第二二维码;
加密二维码生成单元,用于将第二二维码覆盖在所述第一二维码的设定区域内,生成针对所述输入信息的加密二维码;
其中,所述设定区域的面积不大于所述第一二维码的容错面积,所述第一二维码与所述第二二维码为两种不同种类的二维码。
本发明实施例中,由于在第一二维码的特定区域内覆盖了第二二维码,且第二二维码是将输入信息进行加密后得到的,保证了生成的二维码的安全性。
进一步地,所述加密信息生成单元,具体用于:
根据哈希算法以及所述输入信息确定针对所述输入信息的摘要信息;
利用所述服务器的私钥对所述输入信息的摘要信息进行数字签名,得到加密信息。
本发明还提供一种验证二维码的装置,包括:
获取单元,用于获取目标二维码,其中所述目标二维码是由第一二维码以及第二二维码确定的,且所述第二二维码覆盖在所述第一二维码中的设定区域内;
解析单元,用于调用第一解码器解析所述目标二维码得到所述第一二维码对应的输入信息;以及调用第二解码器解析所述目标二维码得到所述第二二维码对应的第一加密信息;
解密单元,调用目标二维码对应的服务器的解密算法对所述第一加密信息进行解密,得到解密后的输入信息;
匹配单元,若确定解密码后的输入信息与所述第一二维码对应的输入信息匹配后,则确定所述目标二维码未被篡改。
本发明实施例中,当获取到目标二维码后,利用两个解码器分别对目标二维码中的两种二维码进行解析,并根据目标二维码对应的服务器的加密算法将输入信息生成第二加密信息将第一加密信息进行解密,得到解密后的输入信息,并确定解密码后的输入信息与所述第一二维码对应的输入信息匹配后确定第一加密信息与第二加密信息匹配后,则认为目标二维码中的信息没有被篡改。
进一步地,所述装置还包括:
第二加密信息生成单元,用于调用目标二维码对应的服务器的加密算法对所述输入信息进行加密,得到第二加密信息;所述匹配单元,还用于:
若确定所述第一加密信息与所述第二加密信息匹配后,则确定所述目标二维码未被篡改。
进一步地,
所述第二加密信息生成单元,具体用于:
根据目标二维码对应的服务器的哈希算法以及所述输入信息确定针对所述输入信息的第二摘要信息;
所述匹配单元,具体用于:
若确定所述第一摘要信息与所述第二摘要信息一致,则确定所述第一加密信息与所述第二加密信息匹配。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种二维码生成方法流程示意图;
图2为本发明实施例提供的第一二维码的示意图;
图3为本发明实施例提供的汉信码的示意图;
图4为本发明实施例提供的一种第二二维码叠加在第一二维码中的示意图;
图5为本发明实施例提供的一种二维码验证方法流程示意图;
图6为本发明实施例提供的一种采样图像的示意图;
图7为本发明实施例提供的另一种采样图像的示意图;
图8为本发明实施例提供的一种二维码生成方法的流程示意图;
图9为本发明实施例提供的一种二维码验证方法的流程示意图;
图10为本发明实施例提供的一种二维码生成装置的结构示意图;
图11为本发明实施例提供的一种二维码验证装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部份实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
本发明提供一种二维码生成方法,如图1所示,所述方法包括:
步骤101,服务器将输入信息生成第一二维码;
步骤102,所述服务器根据所述服务器对应的加密算法对所述输入信息进行加密,得到加密信息;
步骤103,所述服务器将加密信息生成第二二维码;
步骤104,所述服务器将第二二维码覆盖在所述第一二维码的设定区域内,生成针对所述输入信息的加密二维码;
其中,所述设定区域的面积不大于所述第一二维码的容错面积,所述第一二维码与所述第二二维码为两种不同种类的二维码。
在步骤101中,服务器调用二维码生成器将信息输入到二维码生成器中,生成相应的二维码,可选的,在本发明实施例中,二维码生成器可以是能够生成二维码的任意一种的应用程序。
在步骤101中,输入信息可以是交易信息或者订单信息,例如输入信息为A向B进行支付的订单信息。
在本发明实施例中,第一二维码与第二二维码为两种不同种类的二维码,二维码的类型有多种,例如Data Matrix,Maxi Code,Aztec,QR Code,Vericode,PDF417,Ultracode,Code 49,Code 16K,汉信码等等。也就是说,在本发明实施例中,第一二维码为上述二维码类型中的一个,第二二维码为上述二维码类型中的一个,且不为同一种类型。
在本发明实施例中,可选的,第一二维码为QR Code,QR Code的特点为:高密度编码,信息容量大;编码范围广;容错能力强,具有纠错功能;译码可靠性高;可引入加密措施;成本低,易制作,持久耐用。
QR Code的示意图如图2所示,QR Code简称为QR码,QR码呈正方形,在4个角落的其中3个,印有较小,且像“回”字的的正方图案,是供解码软体作定位用的图案。
步骤102中,服务器利用服务器对应的加密算法将输入信息进行加密,得到加密信息。
可选的,在本发明实施例中,服务器对应的加密算法可以分为哈希算法,对称加密算法以及非对称加密算法等。
Hash,一般翻译做“散列”,也有直接音译为"哈希"的,就是把任意长度的输入(又叫做预映射,pre-image),通过散列算法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,而不可能从散列值来唯一的确定输入值。
对称加密算法为发送方与接收方用同一个随机对称密钥进行加密数据和解密数据的方法,首先发送方生成随机对称密钥对数据进行加密后,连同密钥一同发送给接收方,接收方收到后用同一个密钥解密数据,并抛弃密钥。对称密钥在使用过一次后就被抛弃。
非对称性算法会生成一个公/私钥对,公钥加密数据只能用私钥解开;反之私钥加密数据,只能用公钥解开。
可选的,在本发明实施例中,服务器可以先使用哈希算法,将输入信息生成摘要信息,并利用非对称算法中服务器对应的私钥将摘要信息进行数字签名。
数字签名(又称公钥数字签名、电子签章)是一种类似写在纸上的普通的物理签名,但是使用了公钥加密领域的技术实现,用于鉴别数字信息的方法。一套数字签名通常定义两种互补的运算,一个用于签名,另一个用于验证。数字签名就是只有信息的发送者才能产生的别人无法伪造的一段数字串,这段数字串同时也是对信息的发送者发送信息真实性的一个有效证明。
在步骤103中,服务器调用二维码生成器将认证信息生成第二二维码,可选的,在本发明实施例中,第二二维码可以为汉信码,汉信码的特点为:
1.强的汉字表示能力;2.汉字编码效率高;3.信息密度高;4.信息容量大;5.支持加密技术;6.抗污损和畸变能力强;7.修正错误能力强;8.可供用户选择的纠错能力;9.符号无成本;10.条码符号的形状可变等。如图3所示,图3为汉信码的示意图。
在步骤104中,服务器调用二维码生成器将第二二维码覆盖在第一二维码中的特定区域内,在本发明实施例中,特定区域的面积不大于第一二维码的容错面积,二维码的容错面积指的是二维码在被遮挡一部分后,仍可以扫描出二维码中的信息,可选的,容错面积可以用容错率来表示,即容错率为30%,则容错面积为30%,即二维码中遮挡30%的面积,仍然可以扫描出二维码中的信息。
在本发明实施例中,为了保证能够在解析二维码时解析出第一二维码的信息,所以第二二维码覆盖在第一二维码中的特定区域的面积需要不大于第一二维码的容错面积,例如第一二维码的容错面积为30%,则设定区域的面积不大于第一二维码面积的30%。
如图4所示,可选的,特定区域为第一二维码的中心区域,且中心区域的面积等于第一二维码的容错面积,例如,第一二维码的容错面积为30%,则特定区域的面积为30%。
可选的,在本发明实施例中,若第一二维码不是QR码,而是其它种类的二维码,由于其它种类的二维码也具有定位用的图案,所以在叠加第二二维码时,需要确定没有覆盖在第一二维码的定位图案上,以避免在解码的过程中无法对第一二维码的信息进行解析。
本发明还提供一种二维码验证方法,如图5所示,所述方法包括:
步骤501,获取目标二维码,其中所述目标二维码是由第一二维码以及第二二维码确定的,且所述第二二维码覆盖在所述第一二维码中的特定区域内;
步骤502,调用第一解码器解析所述目标二维码得到所述第一二维码对应的输入信息;以及调用第二解码器解析所述目标二维码得到所述第二二维码对应的认证信息;
步骤503,调用目标二维码对应的服务器的解密算法对所述第一加密信息进行解密,得到解密后的输入信息;
步骤504,若确定解密码后的输入信息与所述第一二维码对应的输入信息匹配后,则确定所述目标二维码未被篡改。
在步骤501中,获取的目标二维码是由第一二维码以及第二二维码确定,且第二二维码覆盖在所述第一二维码中的特定区域内,例如如图4所示,图4中的二维码即为目标二维码。
在本发明实施例中,由于目标二维码中有两种种类的二维码,所以需要调用相应的解码器进行解析。可选的,在本发明实施例中,第一解码器只能解析目标二维码中的第一二维码,第二解码器只能解析目标二维码中的第二二维码。
在步骤502中,利用第一解码器解析出目标二维码中的第一二维码对应的信息,可选的,在本发明实施例中,第一二维码对应的信息就是输入信息,例如订单信息或者支付请求等。
在步骤502中,利用第二解码器解析出目标二维码中的第二二维码对应的第一加密信息,可选的,在本发明实施例中,第二二维码对应的第一加密信息就是在生成目标二维码时,将输入信息利用目标二维码对应的服务器的加密算法进行加密后得到的。
可选的,在步骤502中,由于目标二维码在传输过程中存在扭曲变形的问题,所以在利用第一解码器以及第二解码器对目标二维码进行解析时首先获得目标二维码的校正图像,例如,若获取的目标二维码的形状扭曲变形为棱形,首先需要对目标二维码进行校正,然后利用校正后的图像解析第一二维码中的输入信息。
可选的,在步骤502中,可以利用同一个扫码装置,即具有扫描二维码屏幕以及图像识别能力的装置对目标二维码进行扫描,扫描时间为设定时间,则在第一设定时间内调用第一解码器对目标二维码进行解析,在第二设定时间内调用第二解码器对目标二维码进行解析,且第一设定时间与第二设定时间之和等于设定时间。
当然,可选的,在上述实施例中,还可以在设定时间内同时调用第一解码器以及第二解码器进行并行处理。
在步骤503中,由于第一加密信息是根据输入信息加密后得到的,为了验证目标二维码在传输过程中没有被篡改,所以在本发明实施例中,可以将第一加密信息进行解密,得到解密后的输入信息。
可选的,在本发明实施例中,利用目标二维码对应的服务器的解密工具对第一加密信息进行解密。例如,若确定生成目标二维码的服务器的加密工具是服务器的私钥,则利用服务器的公钥对第一加密信息进行解密。
在步骤504中,若确定解密后的输入信息与解析出的第一二维码对应的输入信息匹配,则确定目标二维码没有被篡改,例如,第二二维码是利用目标二维码对应的服务器的公钥对输入信息进行加密后得到的,若用目标二维码对应的服务器的私钥对第一加密信息解密,解密后的输入信息与第一二维码对应的输入信息一致,则确定所述目标二维码未被篡改。
可选的,在本发明实施例中,当确定解密码后的输入信息与所述第一二维码对应的输入信息不匹配,则确定所述目标二维码被篡改。
可选的,在本发明实施例中,由于接收到的目标二维码中第二二维码是根据输入信息加密后得到的,为了验证目标二维码在传输过程中没有被篡改,所以在本发明实施例中,还利用与目标二维码对应的服务器的加密算法对解析出的输入信息进行加密,得到第二加密信息。由于使用的加密算法是二维码服务器对应的加密算法,也就是说,在本发明实施例中,若在传输过程中目标二维码没有被篡改,则生成的第二加密信息与第一加密信息应该是匹配的。
可选的,在解析出第一加密信息后,使用目标二维码生成过程中使用的私钥对应的公钥确定第一加密信息中的第一摘要信息。可选的,第一摘要信息为目标二维码生成过程中,利用哈希算法,将输入信息加密后生成的。
可选的,在本发明实施例中,第二摘要信息就是利用哈希算法与解析出的输入信息确定的。
可选的,在本发明实施例中,若确定第一摘要信息与第二摘要信息一致时,则确定目标二维码在传输过程中没有被篡改过。
可选的,当确定第一摘要信息与第二摘要信息不一致时,则确定目标二维码在传输过程中被篡改过。
可选的,当确定目标二维码没有被篡改过,可以响应解析出的输入信息。例如,第一二维码对应的输入信息可以为支付信息,订单信息等,输入信息为支付信息,即A方需要向B方进行支付,并将支付信息生成目标二维码,当确定目标二维码没有被篡改过,则响应A向B支付的操作。
可选的,在本发明实施例中,若调用第二解码器解析目标二维码不能得到第二二维码对应的第一加密信息,则需要对第二二维码再次进行解析。
可选的,在本发明实施例中,为了减少第一二维码对解析第二二维码的影响,所以可以在目标二维码中,截取包括第二二维码的采样图像,例如如图6所示的采样图像,采样图像中包括第二二维码。
可选的,在本发明实施例中,可以获取以第一二维码特定区域为中心的采样图像,采样图像的面积不小于特定区域的面积,例如如图7所示,采样图像为目标二维码中只包括第二二维码的部分。
当然,在本发明实施例中,若目标二维码的第二二维码没有重叠在第一二维码的中心区域,特定区域可以是其它区域。
可选的,在本发明实施例中,采样的图像可以小于特定区域,例如图8所示,采样图像小于特定区域,且采样图像小于第二二维码的面积,且第二二维码的面积与采样图像的面积差不大于第二二维码的容错面积,例如,在本发明实施例中,第二二维码的容错面积为25%,则采样图像的面积大于75%。
可选的,若能够利用第二解码器解析出采样图像,然后确定第二加密信息,并比较第二加密信息与第一加密信息是否一致。
可选的,若不能够利用第二解码器解析出采样图像,则可以放大采样图像,然后再利用第二解码器解析放大的采样图像。
可选的,在本发明实施例中,可以以设定放大比例进行放大,例如可以设置10%的放大率进行放大。
在本发明实施例中,若确定第一次放大的采样图像仍然不能利用第二解码器解析,则继续放大放大后的采样图像,直到放大次数超过预设阈值,例如,预设阈值为4次,即若确定放大采样图像的次数为5次时,则确定对目标二维码解析失败,则确定目标二维码不是具有加密功能的二维码,不确定目标二维码的安全性,则确定不响应目标二维码对应的输入信息。
可选的,在本发明实施例中,可能存在扫描时定位不准而不能利用第二解码器对目标二维码进行解析的问题,可调整扫描图像的位置,以保证扫描成功。
为了便于本领域技术人员的理解,在此举例说明,本发明提供二维码生成方法。本发明实施例中,二维码是根据输入信息A向B进行支付X元确定的,如图8所示,具体如下:
步骤801,服务器调用二维码生成器将输入信息生成第一二维码,在本发明实施例中,第一二维码为QR码;
步骤802,服务器根据哈希算法以及输入信息确定针对输入信息的摘要信息,服务器利用服务器的私钥对输入信息的摘要信息进行数字签名,得到加密信息;
步骤803,服务器调用二维码生成器将加密信息生成第二二维码;
步骤804,服务器调用二维码生成器将第二二维码覆盖在第一二维码的中心区域,且第二二维码的覆盖区域等于第一二维码的容错面积。
本发明提供一种二维码验证方法,在本发明实施例中,获取的目标二维码为上述步骤801~804生成的二维码,及目标二维码中的输入信息A向B进行支付X元确定的,如图9所示,具体如下:
步骤901,验证服务器获取目标二维码,目标二维码为上述步骤801~804生成的二维码;
步骤902,验证服务器调用第一解码器解析目标二维码得到所述第一二维码对应的输入信息;调用第二解码器解析目标二维码;
步骤903,验证服务器判断是否能够解析出目标二维码中第二二维码对应的第一加密信息,若是,则执行步骤904,否则执行步骤905;
步骤904,验证服务器利用目标二维码对应的服务器的公钥解析第一加密信息,确定第一摘要信息,执行步骤906;
步骤905,服务器截取目标二维码的特定区域作为采样图像,特定区域的面积与第二二维码面积相同,执行步骤907;
步骤906,验证服务器根据目标二维码对应的服务器的哈希算法以及输入信息确定针对输入信息的第二摘要信息,执行步骤908;
步骤907,验证服务器判断是否能够利用第二解码器解析出采样图像中的第一加密信息,若是,则执行步骤904;否则,则执行步骤909;
步骤908,验证服务器判断第一摘要与第二摘要是否一致,若一致,则执行步骤910;否则,执行步骤911;
步骤909,验证服务器按照设定的放大比例10%放大采样图像,执行步骤912;
步骤910,验证服务器响应A向B进行支付X元的操作;
步骤911,验证服务器结束验证目标二维码的流程;
步骤912,验证服务器调用第二解码器解析放大的采样图像;
步骤913,验证服务器判断是否能够利用第二解码器解析出放大的采样图像中的第一加密信息,若是,则执行步骤904;否则,则执行步骤914;
步骤914,验证服务器确定放大次数是否超过预设阈值,若没有超过,则执行步骤909;否则执行步骤911。
基于同样的构思,本发明实施例还提供一种二维码生成装置,如图10所示,包括:
第一二维码生成单元1001,用于将输入信息生成第一二维码;
加密信息生成单元1002,用于根据所述服务器对应的加密算法对所述输入信息进行加密,得到加密信息;
第二二维码生成单元1003,用于将加密信息生成第二二维码;
加密二维码生成单元1004,用于将第二二维码覆盖在所述第一二维码的设定区域内,生成针对所述输入信息的加密二维码;
其中,所述设定区域的面积不大于所述第一二维码的容错面积,所述第一二维码与所述第二二维码为两种不同种类的二维码。
进一步地,所述加密信息生成单元1002,具体用于:
根据哈希算法以及所述输入信息确定针对所述输入信息的摘要信息;
利用所述服务器的私钥对所述输入信息的摘要信息进行数字签名,得到加密信息。
本发明还提供一种二维码验证装置,如图11所示,包括:
获取单元1101,用于获取目标二维码,其中所述目标二维码是由第一二维码以及第二二维码确定的,且所述第二二维码覆盖在所述第一二维码中的设定区域内;
解析单元1102,用于调用第一解码器解析所述目标二维码得到所述第一二维码对应的输入信息;以及调用第二解码器解析所述目标二维码得到所述第二二维码对应的第一加密信息;
解密单元1103,用于
调用目标二维码对应的服务器的解密算法对所述第一加密信息进行解密,得到解密后的输入信息;
匹配单元1104,用于若确定解密码后的输入信息与所述第一二维码对应的输入信息匹配后,则确定所述目标二维码未被篡改。
进一步地,所述解析单元1102,具体用于:
可选的,可以利用同一个扫码装置,即具有扫描二维码屏幕以及图像识别能力的装置对目标二维码进行扫描,扫描时间为设定时间,则在第一设定时间内利用解析单元1102调用第一解码器对目标二维码进行解析,在第二设定时间内利用解析单元1102调用第二解码器对目标二维码进行解析,且第一设定时间与第二设定时间之和等于设定时间。
当然,可选的,在上述实施例中,还可以在设定时间内同时利用解析单元1102调用第一解码器以及第二解码器进行并行处理。
进一步地,所述装置还包括:
第二加密信息生成单元1105,用于调用目标二维码对应的服务器的加密算法对所述输入信息进行加密,得到第二加密信息;
所述匹配单元1104,还用于:
若确定所述第一加密信息与所述第二加密信息匹配后,则确定所述目标二维码未被篡改。
进一步地,所述第二加密信息生成单元1105,具体用于:
根据目标二维码对应的服务器的哈希算法以及所述输入信息确定针对所述输入信息的第二摘要信息;
所述匹配单元1104,具体用于:
若确定所述第一摘要信息与所述第二摘要信息一致,则确定所述第一加密信息与所述第二加密信息匹配。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种二维码生成方法,其特征在于,所述方法包括:
服务器将输入信息生成第一二维码;
所述服务器根据所述服务器对应的加密算法对所述输入信息进行加密,得到加密信息;
所述服务器将加密信息生成第二二维码;
所述服务器将第二二维码覆盖在所述第一二维码的设定区域内,生成针对所述输入信息的加密二维码;
其中,所述设定区域的面积不大于所述第一二维码的容错面积,所述第一二维码与所述第二二维码为两种不同种类的二维码。
2.根据权利要求1所述的方法,其特征在于,所述服务器根据所述服务器对应的加密算法对所述输入信息进行加密,得到加密信息,包括:
所述服务器根据哈希算法以及所述输入信息确定针对所述输入信息的摘要信息;
所述服务器利用所述服务器的私钥对所述输入信息的摘要信息进行数字签名,得到加密信息。
3.一种二维码验证方法,其特征在于,所述方法包括:
获取目标二维码,其中所述目标二维码是由第一二维码以及第二二维码确定的,且所述第二二维码覆盖在所述第一二维码中的设定区域内;
调用第一解码器解析所述目标二维码得到所述第一二维码对应的输入信息;以及调用第二解码器解析所述目标二维码得到所述第二二维码对应的第一加密信息;
调用目标二维码对应的服务器的解密算法对所述第一加密信息进行解密,得到解密后的输入信息;
若确定解密码后的输入信息与所述第一二维码对应的输入信息匹配后,则确定所述目标二维码未被篡改。
4.根据权利要求3所述的方法,其特征在于,所述解析出所述第一二维码对应的输入信息以及所述第二二维码对应的第一加密信息后,还包括:
调用目标二维码对应的服务器的加密算法对所述输入信息进行加密,得到第二加密信息;
若确定所述第一加密信息与所述第二加密信息匹配后,则确定所述目标二维码未被篡改。
5.根据权利要求4所述的方法,其特征在于,所述调用第二解码器解析所述目标二维码得到所述第二二维码对应的第一加密信息后,还包括:
根据所述目标二维码对应的服务器的公钥确定所述第一加密信息中的第一摘要信息;
所述调用目标二维码对应的服务器的加密算法对所述输入信息进行加密,得到第二加密信息,包括:
根据目标二维码对应的服务器的哈希算法以及所述输入信息确定针对所述输入信息的第二摘要信息;
确定所述第一加密信息与所述第二加密信息匹配,包括:
若确定所述第一摘要信息与所述第二摘要信息一致,则确定所述第一加密信息与所述第二加密信息匹配。
6.一种二维码生成装置,其特征在于,包括:
第一二维码生成单元,用于将输入信息生成第一二维码;
加密信息生成单元,用于根据所述服务器对应的加密算法对所述输入信息进行加密,得到加密信息;
第二二维码生成单元,用于将加密信息生成第二二维码;
加密二维码生成单元,用于将第二二维码覆盖在所述第一二维码的设定区域内,生成针对所述输入信息的加密二维码;
其中,所述设定区域的面积不大于所述第一二维码的容错面积,所述第一二维码与所述第二二维码为两种不同种类的二维码。
7.根据权利要求6所述的装置,其特征在于,所述加密信息生成单元,具体用于:
根据哈希算法以及所述输入信息确定针对所述输入信息的摘要信息;
利用所述服务器的私钥对所述输入信息的摘要信息进行数字签名,得到加密信息。
8.一种二维码验证装置,其特征在于,包括:
获取单元,用于获取目标二维码,其中所述目标二维码是由第一二维码以及第二二维码确定的,且所述第二二维码覆盖在所述第一二维码中的设定区域内;
解析单元,用于调用第一解码器解析所述目标二维码得到所述第一二维码对应的输入信息;以及调用第二解码器解析所述目标二维码得到所述第二二维码对应的第一加密信息;
解密单元,调用目标二维码对应的服务器的解密算法对所述第一加密信息进行解密,得到解密后的输入信息;
匹配单元,若确定解密码后的输入信息与所述第一二维码对应的输入信息匹配后,则确定所述目标二维码未被篡改。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
第二加密信息生成单元,用于调用目标二维码对应的服务器的加密算法对所述输入信息进行加密,得到第二加密信息;所述匹配单元,还用于:
若确定所述第一加密信息与所述第二加密信息匹配后,则确定所述目标二维码未被篡改。
10.根据权利要求9所述的装置,其特征在于,所述第二加密信息生成单元,具体用于:
根据目标二维码对应的服务器的哈希算法以及所述输入信息确定针对所述输入信息的第二摘要信息;
所述匹配单元,具体用于:
若确定所述第一摘要信息与所述第二摘要信息一致,则确定所述第一加密信息与所述第二加密信息匹配。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611051056.5A CN106599964A (zh) | 2016-11-24 | 2016-11-24 | 一种二维码生成、验证方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611051056.5A CN106599964A (zh) | 2016-11-24 | 2016-11-24 | 一种二维码生成、验证方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106599964A true CN106599964A (zh) | 2017-04-26 |
Family
ID=58593152
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611051056.5A Pending CN106599964A (zh) | 2016-11-24 | 2016-11-24 | 一种二维码生成、验证方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106599964A (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107451643A (zh) * | 2017-08-15 | 2017-12-08 | 北京航空航天大学 | 动态二维码的生成、识别方法和装置 |
CN107578250A (zh) * | 2017-07-17 | 2018-01-12 | 中国农业大学 | 一种二维码防伪方法及系统 |
CN107766909A (zh) * | 2017-11-01 | 2018-03-06 | 厦门物之联智能科技有限公司 | 对二维码图形进行防篡改处理的方法和系统 |
CN108021964A (zh) * | 2017-12-17 | 2018-05-11 | 韩少卿 | 一种支付二维码生成系统以及识别方法 |
CN108256863A (zh) * | 2018-01-26 | 2018-07-06 | 鼎讯网络安全技术有限公司 | 基于se的二维码生成、存储、识别和相关加解密的方法 |
CN108280503A (zh) * | 2018-01-20 | 2018-07-13 | 韩少卿 | 一种支付二维码生成系统以及安全交易方法 |
CN108537314A (zh) * | 2018-03-27 | 2018-09-14 | 中国工商银行股份有限公司 | 基于二维码的产品营销系统及方法 |
CN108681895A (zh) * | 2018-07-26 | 2018-10-19 | 深圳市万通顺达科技股份有限公司 | 一种基于动态二维码的支付方法及支付系统 |
CN108959990A (zh) * | 2017-05-23 | 2018-12-07 | 中国移动通信有限公司研究院 | 一种二维码的验证方法及装置 |
CN109344943A (zh) * | 2018-09-30 | 2019-02-15 | 合肥译码智能科技有限公司 | 一种内嵌式双二维码信息保密的方法 |
CN111382818A (zh) * | 2018-12-31 | 2020-07-07 | 佛山艾仕仑科技有限公司 | 一种可变二维码标签及其制造方法 |
CN111860727A (zh) * | 2020-07-30 | 2020-10-30 | 深圳前海微众银行股份有限公司 | 二维码生成方法、验证方法、设备及计算机可读存储介质 |
CN112307875A (zh) * | 2020-07-16 | 2021-02-02 | 新大陆数字技术股份有限公司 | 人脸验证方法及人脸验证系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101088100A (zh) * | 2004-11-05 | 2007-12-12 | 卡勒兹普麦迪亚公司 | 混合码,产生混合码的方法和装置,以及对混合码进行解码的方法和装置 |
JP2009087286A (ja) * | 2007-10-03 | 2009-04-23 | Denso Wave Inc | 二次元コードおよびその読取装置 |
CN103383704A (zh) * | 2013-08-02 | 2013-11-06 | 百度在线网络技术(北京)有限公司 | 搜索结果的提供方法和装置 |
CN104703020A (zh) * | 2015-03-17 | 2015-06-10 | 北京酷云互动科技有限公司 | 二维码的处理方法、装置和视频播放设备 |
CN104732182A (zh) * | 2015-03-06 | 2015-06-24 | 李宝玉 | 在网页上基于二维码的通信方法 |
CN104778489A (zh) * | 2015-03-24 | 2015-07-15 | 立德高科(北京)数码科技有限责任公司 | 一种组合式防伪标识、及其生成方法与生成装置 |
CN105706107A (zh) * | 2013-11-07 | 2016-06-22 | 斯坎特拉斯特股份有限公司 | 二维条形码以及这种条形码的认证的方法 |
CN105894072A (zh) * | 2016-03-31 | 2016-08-24 | 郝迎喜 | 二维码混合生成系统 |
-
2016
- 2016-11-24 CN CN201611051056.5A patent/CN106599964A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101088100A (zh) * | 2004-11-05 | 2007-12-12 | 卡勒兹普麦迪亚公司 | 混合码,产生混合码的方法和装置,以及对混合码进行解码的方法和装置 |
JP2009087286A (ja) * | 2007-10-03 | 2009-04-23 | Denso Wave Inc | 二次元コードおよびその読取装置 |
CN103383704A (zh) * | 2013-08-02 | 2013-11-06 | 百度在线网络技术(北京)有限公司 | 搜索结果的提供方法和装置 |
CN105706107A (zh) * | 2013-11-07 | 2016-06-22 | 斯坎特拉斯特股份有限公司 | 二维条形码以及这种条形码的认证的方法 |
CN104732182A (zh) * | 2015-03-06 | 2015-06-24 | 李宝玉 | 在网页上基于二维码的通信方法 |
CN104703020A (zh) * | 2015-03-17 | 2015-06-10 | 北京酷云互动科技有限公司 | 二维码的处理方法、装置和视频播放设备 |
CN104778489A (zh) * | 2015-03-24 | 2015-07-15 | 立德高科(北京)数码科技有限责任公司 | 一种组合式防伪标识、及其生成方法与生成装置 |
CN105894072A (zh) * | 2016-03-31 | 2016-08-24 | 郝迎喜 | 二维码混合生成系统 |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108959990B (zh) * | 2017-05-23 | 2021-08-06 | 中国移动通信有限公司研究院 | 一种二维码的验证方法及装置 |
CN108959990A (zh) * | 2017-05-23 | 2018-12-07 | 中国移动通信有限公司研究院 | 一种二维码的验证方法及装置 |
CN107578250A (zh) * | 2017-07-17 | 2018-01-12 | 中国农业大学 | 一种二维码防伪方法及系统 |
CN107451643B (zh) * | 2017-08-15 | 2019-08-20 | 北京航空航天大学 | 动态二维码的生成、识别方法和装置 |
CN107451643A (zh) * | 2017-08-15 | 2017-12-08 | 北京航空航天大学 | 动态二维码的生成、识别方法和装置 |
CN107766909A (zh) * | 2017-11-01 | 2018-03-06 | 厦门物之联智能科技有限公司 | 对二维码图形进行防篡改处理的方法和系统 |
CN107766909B (zh) * | 2017-11-01 | 2018-11-06 | 厦门物之联智能科技有限公司 | 对二维码图形进行防篡改处理的方法和系统 |
CN108021964A (zh) * | 2017-12-17 | 2018-05-11 | 韩少卿 | 一种支付二维码生成系统以及识别方法 |
CN108021964B (zh) * | 2017-12-17 | 2021-02-05 | 和宇健康科技股份有限公司 | 一种支付二维码生成系统以及识别方法 |
CN108280503A (zh) * | 2018-01-20 | 2018-07-13 | 韩少卿 | 一种支付二维码生成系统以及安全交易方法 |
CN108256863A (zh) * | 2018-01-26 | 2018-07-06 | 鼎讯网络安全技术有限公司 | 基于se的二维码生成、存储、识别和相关加解密的方法 |
CN108537314A (zh) * | 2018-03-27 | 2018-09-14 | 中国工商银行股份有限公司 | 基于二维码的产品营销系统及方法 |
CN108681895A (zh) * | 2018-07-26 | 2018-10-19 | 深圳市万通顺达科技股份有限公司 | 一种基于动态二维码的支付方法及支付系统 |
CN109344943A (zh) * | 2018-09-30 | 2019-02-15 | 合肥译码智能科技有限公司 | 一种内嵌式双二维码信息保密的方法 |
CN111382818A (zh) * | 2018-12-31 | 2020-07-07 | 佛山艾仕仑科技有限公司 | 一种可变二维码标签及其制造方法 |
CN112307875A (zh) * | 2020-07-16 | 2021-02-02 | 新大陆数字技术股份有限公司 | 人脸验证方法及人脸验证系统 |
CN111860727A (zh) * | 2020-07-30 | 2020-10-30 | 深圳前海微众银行股份有限公司 | 二维码生成方法、验证方法、设备及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106599964A (zh) | 一种二维码生成、验证方法及装置 | |
US10904008B2 (en) | Data verification | |
JP6961705B2 (ja) | 複合型二次元バーコード生成、読取装置および方法 | |
US11349666B2 (en) | Electronically signing and distributing identification data as a service that provides proof of identity, integrity, validity and origin of data for non-repudiation and ID validation methods | |
US20200074129A1 (en) | Combined two-dimensional code, electronic certificate carrier, and generation and reading apparatus and method | |
CN104541283B (zh) | 二维码验证装置、二维码生成装置以及二维码验证方法 | |
CN105825257A (zh) | 基于二维条码的信息隐藏与隐藏信息提取方法及系统 | |
MX2013007923A (es) | Sistema y metodo para la autenticacion de documentos de alto valor. | |
CN105976005A (zh) | 二维码加密方法、二维码生成设备和二维码扫描设备 | |
CN107451643B (zh) | 动态二维码的生成、识别方法和装置 | |
CN104854597B (zh) | 认证服务器、认证系统以及认证方法 | |
Wang et al. | 2D barcodes for visual cryptography | |
CN104809490A (zh) | 一种基于多维码的证卡防伪系统及其认证方法 | |
US20220318346A1 (en) | Certified text document | |
Falkner et al. | E-voting Authentication with QR-codes | |
CN108335108A (zh) | 一种二维码安全移动支付方法及系统 | |
CN105187357A (zh) | 二维码认证方法和系统 | |
CN111667039A (zh) | 一种二维码防伪方法 | |
CN113988242A (zh) | 基于多区域的防伪码生成与校验方法、系统、设备及介质 | |
CN112561015B (zh) | 一种条码编码、解码方法、装置、系统、设备和介质 | |
US20130090059A1 (en) | Identity verification | |
CN106778994B (zh) | 一种二维码生成、解析方法及装置 | |
CN116029777A (zh) | 一种防伪单据生成方法、装置、设备及介质 | |
Arief et al. | Authentication of printed document using quick response (QR) code | |
ES2743047T3 (es) | Procedimiento para garantizar la autenticidad, la integridad y el anonimato de un enlace a datos, en particular en la presentación del enlace a datos en forma de un código óptico bidimensional |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170426 |