一种二维码的生成方法及识别方法与流程

文档序号:15737671发布日期:2018-10-23 21:45阅读:818来源:国知局

本发明涉及二维码技术领域,具体涉及到一种二维码的生成方法及识别方法。



背景技术:

二维码又称二维条形码,它通过某种特定几何图形按一定规律在平面(二维方向)上分布形成的条/空相间图形来记录数据符号信息。二维码具有信息容量大、编码范围广、容错力强、译码可靠性高等特点,同时还具有成本低、易制作等优势。因此,二维码在人们生活中得到广泛应用。

随着互联网的发展和移动终端的普及,生活中的二维码也随处可见,但是随着应用的普通,一些人通过仿造二维码来达到自己的一些非法目的,让相关的用户蒙受损失,所以二维码的真实性是用户所需要的。

在现有技术中,人们很难通过肉眼观察判断二维码的真伪,并且在二维码识别过程中,一般是在不进行任何验证的情况下直接对各种二维码进行识别。如果造假者通过市场上的二维码扫描工具很容易获取到二维码的具体信息,然后通过这个二维码具体信息,进行批量造假,很难在技术上进行控制。而且如果数据库信息被某些造假者获取,整个防伪体系就会崩溃;如果码文件信息传输过程中,被截取,也会被批量造假。

因此,存在生成高安全性二维码的技术方案的需求,相应地也存在在识别二维码时,对二维码进行真伪判定的技术方案的需求。



技术实现要素:

本发明的主要目的在于提供一种二维码的生成方法及识别方法,旨在解决上述问题。

本发明的第一方面提供了一种二维码的生成方法,包括:

获取生成二维码的请求信息,所述请求信息包括用于生成二维码的防伪信息和密钥信息;

根据所述防伪信息获取防伪码;

判断所述密钥信息是否存在,得出判断结果,所述判断结果包括存在密钥信息和不存在密钥信息;不存在密钥信息时,提示输入密钥信息,输入完成后返回上一步;

存在密钥信息时,根据所述防伪码生成随机数,并通过密钥加密,把加密后的随机数和防伪码存储在数据库中,并对所述防伪信息,防伪码和随机数进行编码生成二维码。

优选的,生成二维码的各边上均设置有圆孔。

优选的,所述随机数包括,数字、字母和文字,所述随机数的位数为多位。

优选的,所述随机数生成在所述二维码的冗余位上。

采用上述方案,在生成二维码时进行密钥信息验证并产生随机数和防伪码,然后存储在数据库中,提高了生成二维码的安全性和有效性,并且便于在识别过程中识别出真伪。

本发明的第二方面提供了一种二维码的识别方法,应用于贴附有二维码的物品,所述二维码采用第一方面生成的二维码,所述识别方法包括:

扫描终端识别二维码中的防伪码,作为第一防伪码并发送给服务器;

服务器判断所述第一防伪码是否存储在数据库中,存在,则进行页面跳转,进入验证页面,不存在,则发送第一提示信息至所述扫描终端;

根据所述验证页面的提示,扫描终端获取贴附的二维码的图像信息并上传给服务器;

服务器对所述图像信息进行处理以获得所述图像信息中二维码的冗余位上的随机数和防伪码,并将图像信息中二维码的防伪码作为第二防伪码;

服务器判断所述第二防伪码是否存储在数据库中,存在,则根据预设的密钥信息对所述随机数进行加密以得到目标随机数,不存在,则发送第一提示信息至所述扫描终端;

服务器判断所述目标随机数与生成图像信息中的二维码时,存储在数据库中的随机数是否相同,不相同,则发送第三提示信息至所述扫描终端,相同,则发送第二提示信息至所述扫描终端。

优选的,所述第一提示信息、第二提示信息和第三提示信息为文字信息、图片信息、视频信息和音频信息中的一种或多种。

采用上述方案,在二维码的识别过程中,通过对获取的防伪码和随机数进行验证,并对验证结果进行信息提醒,增加了二维码识别过程中的真伪判定,防止二维码被仿冒。

附图说明

图1为本发明实施例提供的一种二维码的生成方法的方法流程图;

图2为本发明实施例提供的一种二维码的识别方法的方法流程图。

具体实施方式

为了使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述,这里的描述不意味着对应于实施例中陈述的具体实例的所有主题都在权利要求中引用了。

请参考图1,一种二维码的生成方法,包括:

S101,获取生成二维码的请求信息,所述请求信息包括用于生成二维码的防伪信息和密钥信息;

具体的,在本实施例中,二维码生成方法可由二维码生成设备终端执行,终端包括但不限于移动终端或计算机,通过终端的输入设备输入相应的防伪信息和密钥信息,其中防伪信息可以是一串数字,字符和文字等信息,在此并不限定。

S102,根据所述防伪信息获取防伪码;

具体地,二维码生成设备通过输入的防伪信息,根据防伪信息的设定规则,获取防伪信息中的防伪码信息。

S103,判断所述密钥信息是否存在,得出判断结果,所述判断结果包括存在密钥信息和不存在密钥信息;不存在密钥信息时,提示输入密钥信息,输入完成后返回上一步;

具体地,二维码生成设备对获取的密钥信息进行验证,判断其密钥信息的是否有效和是否存在,当检测到密钥不存在或无效时,通过二维码生成设备的显示设备进行信息提示,用户可通过其输入设备输入密钥信息,输入完成后,返回到上一步处理流程;

S104,存在密钥信息时,根据所述防伪码生成随机数,并通过密钥加密,把加密后的随机数和防伪码存储在数据库中,并对所述防伪信息,防伪码和随机数进行编码生成二维码。

具体地,当检测到密钥存在且有效时,随机产生一个与所述防伪码相对应的随机数,所述随机数的位数为多位,所述随机数包括,数字、字母和文字,在此对位数、采用数字、字母和文字或者多种形式相结合的方式,不做具体限制,同时根据预设的加密算法对随机数进行加密,并将加密后的随机数和防伪码存储在数据库中的同时,生成最终的二维码,这里的数据库可采用云服务器的数据库,二维码生成设备通过网络进行传输。

进一步地,为了方便使用和提高生成二维码的安全性,生成二维码的各边上均设置有圆孔,通过采用类似邮票的设计,便于流通使用,通过设有相应的圆孔,在便于将各二维码分离的同时还增加了别人仿冒的难度,从而提高了其安全性。

进一步地,为了提高生成二维码的可读性和有效性,避免因局部破损造成的误识别,所述随机数生成在所述二维码的冗余位上。

请参考图2,一种二维码的识别方法,应用于贴附有二维码的物品,所述二维码采用上述二维码生成方法生成的二维码,所述识别方法包括:

S201,扫描终端识别二维码中的防伪码,作为第一防伪码并发送给服务器;

具体地,扫描终端可采用具有扫描功能的智能终端,进行二维码扫描后,获取扫描信息中的防伪码,并通过网络发送给服务器,所述服务器可采用云服务器。

S202,服务器判断所述第一防伪码是否存储在数据库中,存在,则进行页面跳转,进入验证页面,不存在,则发送第一提示信息至所述扫描终端;

具体地,服务器获取防伪码后与数据库中存储的防伪码进行验证,这里的服务器可采用与生成二维码时的服务器相同,验证通过后,则进行页面跳转,扫描终端显示相应的验证页面,用户可根据验证页面的相关提示,进行后续操作;验证不通过,则在扫描终端上显示提示信息,所述第一提示信息可为“该码不存在,请注意”等类似告警信息。

S203,根据所述验证页面的提示,扫描终端获取贴附的二维码的图像信息并上传给服务器;

具体地,扫描终端对物品上贴附的二维码进行拍照并上传,拍照时,可进行多角度拍摄,采用将一张照片或几张照片均进行上传,在此并不限制。

S204,服务器对所述图像信息进行处理以获得所述图像信息中二维码的冗余位上的随机数和防伪码,并将图像信息中二维码的防伪码作为第二防伪码;

具体地,获取验证页面的图像信息后,获取图像信息中二维码的冗余位上的随机数和防伪码,进行验证,如果加密后随机数跟数据库中不一致,直接提示“该标签为假冒标签”,如果一致,再跟服务器中存储的物品贴附二维码时采集的原始图片对比,由于二维码带有圆孔,贴附的时候,撕扯下来,圆孔的破损情况,不能复制;通过该方法,可以杜绝拍照复印来模拟真标签的情况。

S205,服务器判断所述第二防伪码是否存储在数据库中,存在,则根据预设的密钥信息对所述随机数进行加密以得到目标随机数,不存在,则发送第一提示信息至所述扫描终端;

S206,服务器判断所述目标随机数与生成图像信息中的二维码时,存储在数据库中的随机数是否相同,不相同,则发送第三提示信息至所述扫描终端,相同,则发送第二提示信息至所述扫描终端。

具体地,当服务器在识别过程中防伪码不存在或无法获取时,直接发送第一提示信息:“该码不存在,请注意”等类似告警信息至扫描终端,当获取的防伪码存在时,再获取随机数,进行加密处理,得到加密后的目标随机数,并与存储在数据库中的随机数进行比较,并根据不同的比较结果,发送不同的提示信息至扫描终端。

进一步地,为了丰富提示信息的多样性,所述第一提示信息、第二提示信息和第三提示信息为文字信息、图片信息、视频信息和音频信息中的一种或多种,第一提示信息可采用“该码不存在,请注意”等类似信息,第二提示信息可采用“该码存在,标签是真标,是正品”等类似信息,第三提示信息可采用“该码存在,标签是假标,请注意”等类似信息

具体应用时,例如:比如生成二维码(www.zy.com/qr/2345656777555)的时,生成的随机数是ABC,按照密钥RTC,生成后的随机数是DCE,这样我数据库中保留的数据是DCE,密钥有客户生成码的时候设置。

我们通过程序来识别二维码:

如果防伪码2345656777555不在我们的数据库内,说明是假的;

如果防伪码上隐藏的数据,没有我们事先设定的一串字符,说明是假的;

如果防伪码上隐藏的数据是DFD,通过事先设定的密钥加密,发现随机数是ABD,而不是DCE,说明是假的;

如果防伪码上隐藏的数据是ABC,通过事先设定的密钥加密,发现随机数是DCE说明是真的。

通过本发明,在进行二维码的生成时,通过进行密钥验证、随机数和防伪码的产生以及在二维码的各边上均设置有圆孔,提高了生成二维码的安全性和有效性,并且便于在识别过程中识别出真伪;同时通过特定的识别方法和验证步骤,提高了二维码识别过程中的真伪判定,降低看二维码被仿冒的概率。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

最后需要说明的是,上述描述为本发明的优选实施例,本领域的普通技术人员在本发明的启示下,在不违背本发明宗旨及权利要求的前提下,可以做出多种类似的表示,这样的变换均落入本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1