图形码生成方法和装置、图形码验证方法和装置与流程

文档序号:31857265发布日期:2022-10-19 03:21阅读:80来源:国知局
图形码生成方法和装置、图形码验证方法和装置与流程

1.本公开涉及数据处理技术领域,具体涉及一种图形码生成方法和装置、图形码验证方法和装置,以及电子设备。


背景技术:

2.随着信息技术的快速发展以及图形码技术的普及,二维码、条形码等图形码的应用越来越广泛。在相关技术中,产品厂商常常将图形码贴附到所生产的产品上,以便标识该产品为正规产品。为了获取非法利益,不法厂家常常伪造正规产品的图形码,并将伪造的图形码贴附到伪造产品上,以使伪造产品具备“合法身份”。
3.然而,目前的图形码极易被伪造,安全性能较差,由此可见,亟需一种能够提高图形码的防伪性能的方案。


技术实现要素:

4.有鉴于此,本公开提供一种图形码生成方法和装置、图形码验证方法和装置,以及电子设备,以解决图形码极易被伪造、安全性能较差的问题。
5.第一方面,提供一种图形码生成方法,该图形码生成方法包括:确定图形码内容数据对应的至少两个防伪信息,其中,至少两个防伪信息之间具有关联关系;基于图形码内容数据和至少两个防伪信息,生成图形码内容数据对应的图形码。
6.第二方面,提供一种图形码验证方法,该图形码验证方法包括:识别待验证图形码,得到图形码内容数据、以及在待验证图形码的生成过程中引入的至少两个防伪信息各自对应的识别信息,其中,至少两个防伪信息之间具有关联关系;基于图形码内容数据,预测在待验证图形码的生成过程中引入的防伪信息,得到防伪预测信息;基于至少两个防伪信息各自对应的识别信息和防伪预测信息,验证待验证图形码。
7.第三方面,提供一种图形码生成装置,该图形码生成装置包括确定模块和生成模块。确定模块配置为,确定图形码内容数据对应的至少两个防伪信息,其中,至少两个防伪信息之间具有关联关系。生成模块配置为,基于图形码内容数据和至少两个防伪信息,生成图形码内容数据对应的图形码。
8.第四方面,提供一种图形码验证装置,该图形码验证装置包括识别模块、预测模块和验证模块。识别模块配置为,识别待验证图形码,得到图形码内容数据、以及在待验证图形码的生成过程中引入的至少两个防伪信息各自对应的识别信息,其中,至少两个防伪信息之间具有关联关系。预测模块配置为,基于图形码内容数据,预测在待验证图形码的生成过程中引入的防伪信息,得到防伪预测信息。验证模块配置为,基于至少两个防伪信息各自对应的识别信息和防伪预测信息,验证待验证图形码。
9.第五方面,提供一种计算机可读存储介质,该存储介质存储有指令,当该指令被执行时,能够实现上述第一方面和第二方面所提及的方法。
10.第六方面,提供一种计算机程序产品,包括指令,当该指令被执行时,能够实现上
述第一方面和第二方面所提及的方法。
11.第七方面,提供一种电子设备,该电子设备包括存储器和处理器,存储器中存储有可执行代码,处理器被配置为执行可执行代码,以实现上述第一方面和第二方面所提及的方法。
12.本公开实施例提供的图形码生成方法,基于图形码内容数据和至少两个防伪信息,生成图形码内容数据对应的图形码。也就是说,本公开实施例所生成的图形码包含至少两个防伪信息,且至少两个防伪信息之间具有关联关系。因此,如果要攻击本公开实施例所生成的图形码,需要破解至少两个防伪信息之间的关联关系。然而,至少两个防伪信息之间的关联关系,不能通过观测图像层面的图形码得到,因此,本公开实施例所生成的图形码不易被攻破,即该图形码生成方法提高了生成的图形码的安全性。
附图说明
13.图1所示为本公开一实施例提供的图形码生成方法的应用场景示意图。
14.图2所示为本公开一实施例提供的图形码验证方法的应用场景示意图。
15.图3所示为本公开另一实施例提供的图形码验证方法的应用场景示意图。
16.图4所示为本公开一实施例提供的图形码生成方法的流程示意图。
17.图5所示为本公开另一实施例提供的图形码生成方法的流程示意图。
18.图6a所示为本公开一实施例提供的未加防伪信息的图形码的示意图。
19.图6b所示为本公开一实施例提供的增加了冗余位信息的图形码的示意图。
20.图6c所示为本公开一实施例提供的增加了墨沿特征信息的图形码的示意图。
21.图6d所示为本公开一实施例提供的增加了水印特征信息的图形码的示意图。
22.图7所示为本公开另一实施例提供的图形码生成方法的流程示意图。
23.图8所示为本公开另一实施例提供的图形码生成方法的流程示意图。
24.图9所示为本公开一实施例提供的图形码验证方法的流程示意图。
25.图10所示为本公开另一实施例提供的图形码验证方法的流程示意图。
26.图11所示为本公开另一实施例提供的图形码验证方法的流程示意图。
27.图12所示为本公开另一实施例提供的图形码验证方法的流程示意图。
28.图13所示为本公开一实施例提供的图形码生成装置的结构示意图。
29.图14所示为本公开一实施例提供的图形码验证装置的结构示意图。
30.图15所示为本公开一实施例提供的电子设备的结构示意图。
具体实施方式
31.下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本公开一部分实施例,而不是全部的实施例。
32.随着信息技术的快速发展以及图形码技术的普及,条形码、二维码等图形码的应用越来越广泛。条形码(也称一维条码)是将宽度不等的多个黑条,按照一定的编码规则排列,用以表达一组信息的图形码。二维码(也称为二维条码),是指在一维条码的基础上扩展出另一维具有可读性的条码,并使用黑白矩形图案表示二进制数据的图形码。条形码和二维码被设备扫描后可获取其中所包含的信息。条形码的宽度记载着数据,而条形码长度没
有记载数据。二维码的长度、宽度均记载着数据。二维码有一维条码没有的“定位点”和“容错机制”。容错机制是指在即使没有识别到全部的二维码、或是说二维码有污损时,也可以正确地还原二维码上的信息。
33.示例性地,快速反应二维码(quick response code,qrcode)是目前广泛应用的一种二维码。qr code具有一维条码及其它二维条码所具有的信息容量大、可靠性高、可表示汉字及图象等多种文字信息,且保密防伪性强等优点。示例性地,本公开所生成的图形码,可以是在qr code的基础上增加至少两个具有关联关系的防伪信息后,生成的图形码。
34.通过给图形码增加防伪信息,并将增加了防伪信息的图形码附加在产品上,使图形码能够实现产品防伪的目的。本公开实施例所生成的图形码包含至少两个防伪信息,且至少两个防伪信息之间具有关联关系。因此,如果要攻击本公开实施例所生成的图形码,需要破解至少两个防伪信息之间的关联关系。然而,至少两个防伪信息之间的关联关系,不能通过观测图像层面的图形码得到,因此,本公开实施例所生成的图形码不易被攻破,即该图形码生成方法提高了生成的图形码的安全性。
35.下面结合图1至图3进行应用场景的举例说明。
36.图1所示为本公开一实施例提供的图形码生成方法的应用场景示意图。如图1所示,本实施方式的应用场景为产品防伪场景。具体而言,本实施方式提及的产品防伪场景包括服务器110以及与服务器110通信连接的客户端120。客户端120用于发送图形码内容数据给服务器110。服务器110用于确定图形码内容数据对应的至少两个防伪信息,其中,至少两个防伪信息之间具有关联关系;基于图形码内容数据和至少两个防伪信息,生成图形码内容数据对应的图形码。
37.在一实施例中,服务器110可以将生成的图形码发送给客户端120,以便客户端120输出图形码,从而使用户可以将图形码附加在待防伪的产品上。
38.示例性地,客户端120可以为用户的、安装有图形码生成软件的手机、平板电脑以及台式电脑等用户终端。客户端120也可以是用户的、能够登录图形码生成平台网页的手机、平板电脑以及台式电脑等用户终端。即,用户可以利用客户端120通过图形码生成平台网页提供图形码内容数据。其中,用户可以是产品的生产厂家或产品的售卖商家。
39.图2所示为本公开一实施例提供的图形码验证方法的应用场景示意图。如图2所示,本实施方式的应用场景为离线验证产品的场景。具体而言,本实施方式提及的离线验证产品的场景包括客户端210。客户端210通过扫描附加在产品上的图形码以识别图形码,得到图形码内容数据、以及在图形码的生成过程中引入的至少两个防伪信息各自的识别信息,其中,至少两个防伪信息之间具有关联关系。继而,客户端210基于图形码内容数据,预测在待验证图形码的生成过程中引入的防伪信息,得到防伪预测信息,最后,客户端210基于至少两个防伪信息各自的识别信息和防伪预测信息,验证所识别的图形码。示例性地,客户端210可以为用户的安装有具有图形码验证软件的手机、平板电脑以及台式电脑等用户终端。其中,用户可以是购买产品的买家。
40.图3所示为本公开另一实施例提供的图形码验证方法的应用场景示意图。如图3所示,本实施方式的应用场景为在线验证产品的场景。具体而言,本实施方式提及的在线验证产品的场景包括服务器310以及与服务器310通信连接的客户端320。客户端320用于扫描附加在产品上的图形码,并将图形码发送给服务器310。服务器310识别需要验证的图形码,得
到图形码内容数据、以及在图形码的生成过程中引入的至少两个防伪信息各自的识别信息,其中,至少两个防伪信息之间具有关联关系;基于图形码内容数据,预测在待验证图形码的生成过程中引入的防伪信息,得到防伪预测信息;基于至少两个防伪信息各自的识别信息和防伪预测信息,验证所识别的图形码。示例性地,客户端320可以是用户的具有扫描图形码功能的手机、平板电脑以及台式电脑等用户终端。其中,用户可以是购买产品的买家。
41.下面结合图4举例说明图形码生成方法。
42.图4所示为本公开一实施例提供的图形码生成方法的流程示意图。具体地,本实施方式可以在服务器中执行。如图4所示,本实施方式提供的图形码生成方法包括如下步骤。
43.步骤s410,确定图形码内容数据对应的至少两个防伪信息。
44.图形码内容数据是用于生成图形码的内容数据。例如,图形码内容数据可以是“12345678”,利用该图形码内容数据“12345678”可以生成一个图形码,扫描该图形码可以得到图形码内容数据“12345678”。
45.具体地,至少两个防伪信息之间具有关联关系,其中,关联关系可以是映射关系。示例性地,至少两个防伪信息可以包括防伪信息a和防伪信息b,防伪信息a和防伪信息b之间具有映射关系。
46.在一些实施例中,确定图形码内容数据对应的至少两个防伪信息可执行为:获取图形码内容数据对应的至少两个防伪信息。也就是说,图形码内容数据对应的至少两个防伪信息是直接获取的。如此设置,能够简化计算量。在另外一些实施例中,确定图形码内容数据对应的至少两个防伪信息可执行为:生成图形码内容数据对应的至少两个防伪信息。也就是说,图形码内容数据对应的至少两个防伪信息是计算生成的。如此设置,能够避免因不存在或不能获取预先生成的防伪信息而导致的图形码生成方法不能被执行的情况。
47.步骤s420,基于图形码内容数据和至少两个防伪信息,生成图形码内容数据对应的图形码。
48.示例性地,基于图形码内容数据和至少两个防伪信息,生成图形码内容数据对应的图形码,可以是先基于图形码内容数据生成至少两个防伪信息中的一部分防伪信息(比如三个防伪信息中的一个防伪信息),然后利用已经生成的防伪信息、以及至少两个防伪信息之间的关联关系,生成至少两个防伪信息中的、还未生成的防伪信息,最终利用生成的所有防伪信息和图形码内容数据,生成图形码。
49.上述提及的防伪信息,有一些是极易通过观测图形码本身而发现防伪信息类型的(可参见下述图6a至图6d部分描述)。也就是说,通过观测图形码,便可大致推测防伪信息类型,进而基于确定的防伪信息类型提取图形码内容数据,最终实现伪造图形码的目的。然而,本公开实施例所生成的图形码包含至少两个防伪信息,且至少两个防伪信息之间具有关联关系。因此,如果要攻击本公开实施例所生成的图形码,需要破解至少两个防伪信息之间的关联关系。然而,至少两个防伪信息之间的关联关系,不能通过观测图像层面的图形码得到,因此,本公开实施例所生成的图形码不易被攻破,即该图形码生成方法提高了生成的图形码的安全性。
50.为了明确至少两个防伪信息的具体确定方式,下面结合图5进行举例。
51.图5所示为本公开另一实施例提供的图形码生成方法的流程示意图。具体地,在本
公开实施例中,上述实施例提及的至少两个防伪信息包括第一防伪信息和第二防伪信息,且第一防伪信息和第二防伪信息之间具有关联关系。在此基础上,如图5所示,在本公开实施例中,确定图形码内容数据对应的至少两个防伪信息的步骤,包括如下步骤。
52.步骤s510,确定图形码内容数据对应的第一防伪信息。
53.在一些实施例中,确定图形码内容数据对应的第一防伪信息可以执行为:获取图形码内容数据对应的第一防伪信息。也就是说,第一防伪信息可以是直接获取的。如此设置,能够简化计算量。在另外一些实施例中,确定图形码内容数据对应的第一防伪信息可以执行为:生成图形码内容数据对应的第一防伪信息。也就是说,图形码内容数据对应的第一防伪信息可以是计算生成的。如此设置,能够避免因不存在或不能获取预先生成的图形码内容数据对应的第一防伪信息,而导致的图形码生成方法不能执行的情况。
54.步骤s520,基于图形码内容数据对应的第一防伪信息,生成图形码内容数据对应的第二防伪信息。
55.具体地,由于第一防伪信息和第二防伪信息之间具有关联关系,因此,基于图形码内容数据对应的第一防伪信息,生成图形码内容数据对应的第二防伪信息可以执行为:根据图形码内容数据对应的第一防伪信息、第一防伪信息和第二防伪信息之间的关联关系,计算生成图形码内容数据对应的第二防伪信息。
56.本公开实施例提供的图形码生成方法,借助难以被观测的关联关系,提高了图形码的伪造难度,提升了图形码的防伪等级,而且方法简单,计算量小。
57.在一些实施例中,第一防伪信息包括不能够被直接观测的隐性防伪信息,第二防伪信息包括能够被直接观测的显性防伪信息。由于不能够被直接观测的隐性防伪信息在伪造(例如,复印)图形码的过程中,相对于能够被直接观测的显性防伪信息更不易丢失,因此,基于图形码内容数据对应的第一防伪信息,生成图形码内容数据对应的第二防伪信息,便于在后续的图形码验证过程中,根据不易丢失的第一防伪信息生成准确的防伪预测信息,进而可以根据准确的防伪预测信息验证从图像层面提取的第二防伪信息是否为伪造信息。
58.在一些实施例中,第一防伪信息包括冗余位信息和/或墨沿特征信息。冗余位信息是利用图形码内容数据对应的图形码的冗余位生成的防伪信息。以二维码的冗余位信息为例,如图6a所示,为根据图形码内容数据生成的未加防伪信息的图形码。在图6a所示的图形码上,选择任意数据区域的黑色和/或白色矩形进行翻转,得到如图6b所示的新的图形码,且扫描图6a或6b所示的图形码都能得到图形码内容数据。被翻转的黑色和/或白色矩形对应的信息即为冗余位信息。黑色和/或白色矩形也可以是彩色矩形。在一些实施例中,被翻转的黑色和白色矩形的数量小于图6a所示的图形码的纠错等级对应的数量。图形码的纠错等级可以表征冗余位的数量。例如,一个图形码包含p个矩形,当有q个矩形缺失时,该图形码依然能够被正确的解码,该图形码的纠错等级对应的数量为q。冗余位信息是不能够被直接观测的隐性防伪信息。具体地,如果要观测出增加了冗余位信息的图形码,需要先识别该增加了冗余位信息的图形码的图形码内容数据,然后利用图形码内容数据生成未增加冗余位信息的图形码,再对比未增加冗余位信息的图形码和增加了冗余位信息的图形码,得到冗余位信息。因此,冗余位信息是不能够被直接观测的隐性防伪信息。墨沿特征信息可以是图形码的黑色(或彩色)图形边缘包括的凹凸特征的信息,如图6c所示。
59.在一些实施例中,第二防伪信息包括水印特征信息。水印特征信息是能够被直接观测的显性防伪信息。水印特征信息可以是包含水印特征的信息,如图6d所示的图形码,包含水印特征,即图6d所示的图形码是增加了水印特征信息的图形码。
60.下面结合图7举例说明生成第二防伪信息的具体实现方式。图7所示为本公开另一实施例提供的图形码生成方法的流程示意图。在图5所示实施例的基础上延伸出图7所示实施例,下面着重叙述图7所示实施例与图5所示实施例的不同之处,相同之处不再赘述。
61.如图7所示,在本公开实施例中,基于图形码内容数据对应的第一防伪信息,生成图形码内容数据对应的第二防伪信息的步骤,包括如下步骤。
62.步骤s710,确定第一防伪信息和第二防伪信息之间的关联关系函数。
63.具体地,可以通过关联关系函数确定第一防伪信息和第二防伪信息之间具有关联关系。示例性地,已知第一防伪信息和关联关系函数,可以得到第二防伪信息,或者,已知第二防伪信息和关联关系函数,可以得到第一防伪信息。
64.步骤s720,基于第一防伪信息和关联关系函数,生成第二防伪信息。
65.通过确定第一防伪信息和第二防伪信息之间的关联关系函数,并基于第一防伪信息和关联关系函数,生成第二防伪信息,可以通过提高关联关系函数的复杂程度,来提高后续生成的图形码的攻击难度,从而进一步提高后续生成的图形码的安全性。
66.在一些实施例中,关联关系函数可以是单向函数。单向函数是具有单向性(也称不可逆性)的函数,即对于一个单向函数y=f(x),若已知x可以很容易地计算出y,但是已知y很难计算出x=f-1
(y)。因此,将关联关系函数确定为单向函数,可以在图形码生成过程中,很容易地根据第一防伪信息(即,单向函数的x),计算得到第二防伪信息(即,单向函数的y)。然而,在图形码验证过程中,不法人员很难根据第二防伪信息(即,单向函数的y),计算得到第一防伪信息(即,单向函数的x),进一步提高了生成的图形码的安全性。
67.在一些实施例中,单向函数可以是单向陷门函数。可以理解,单向陷门函数指的是,有陷门的单向函数。单向陷门函数包含两个明显特征:一是单向性,二是存在陷门。单向性与上述的单向函数的单向性相同,在此不再赘述。陷门(也称后门),对于一个单向陷门函数y=f(x),在已知陷门的情况下,若同时已知y,可以很容易的计算出x=f-1
(y)。因此,通过将单向函数进一步设置为单向陷门函数,可以进一步降低图形码被破解的几率,进一步提高关联关系函数的复杂程度,从而进一步提高生成的图形码的安全性。
68.在一些实施例中,基于第一防伪信息和关联关系函数,生成第二防伪信息的步骤,包括:将第一防伪信息作为关联关系函数的自变量,利用关联关系函数,生成作为关联关系函数的因变量的第二防伪信息。示例性地,将第一防伪信息作为关联关系函数y=f(x)中的x的具体数值(例如,0x4c2e1c),将从而可以将第一防伪信息赋值给x,然后根据关联关系函数y=f(x),计算得到y的具体数值(例如,0x44231c4e)。y的具体数值即为第二防伪信息。通过明确第一防伪信息为关联关系函数的自变量,且第二防伪信息为关联关系函数的因变量,便于根据第一防伪信息和关联关系函数,生成第二防伪信息,提高了第二防伪信息的计算效率,进而提高了图形码生成方法的计算效率。
69.下面结合图8举例说明关联关系函数的具体确定方式。图8所示为本公开另一实施例提供的图形码生成方法的流程示意图。在图7所示实施例的基础上延伸出图8所示实施例,下面着重叙述图8所示实施例与图7所示实施例的不同之处,相同之处不再赘述。
70.如图8所示,在本公开实施例中,确定第一防伪信息和第二防伪信息之间的关联关系函数的步骤,包括如下步骤。
71.步骤s810,确定表征第一防伪信息和第二防伪信息的关联关系的函数关系式。
72.具体地,函数关系式可以是预先设置的关系式,例如,y=ax5+bx4+cx3+dx2+ex+f。函数关系式还可以是其他的关系式,本公开不做具体限定。
73.在一些实施例中,确定表征第一防伪信息和第二防伪信息的关联关系的函数关系式可执行为:获取表征第一防伪信息和第二防伪信息的关联关系的函数关系式。也就是说,表征第一防伪信息和第二防伪信息的关联关系的函数关系式是直接获取的。如此设置,能够简化计算量。在另外一些实施例中,确定表征第一防伪信息和第二防伪信息的关联关系的函数关系式可执行为:生成表征第一防伪信息和第二防伪信息的关联关系的函数关系式。也就是说,表征第一防伪信息和第二防伪信息的关联关系的函数关系式是:用户权衡图形码的安全性和生成图形码的效率后,根据用户的选择生成的。如此设置,能够满足用户的实际需求。
74.示例性地,如果用户对图形码的安全性的要求非常高,可以将函数关系式设置的相对复杂,从而实现提高图形码安全性的目的。如果用户对图形码的生成效率要求更高,可以将函数关系式设置的相对简单,从而提高图形码的生成效率。
75.步骤s820,对图形码内容数据进行哈希化(hash化),得到关联关系函数的函数参数。
76.具体地,hash化是把任意长度的输入通过散列算法变换成固定长度的输出。hash化的具体可以通过md5、sha1、sha256和sha256等方法实现。
77.示例性地,将图形码内容数据作为hash化的输入,将hash化的输出作为关联关系函数的函数参数。
78.步骤s830,基于函数关系式和函数参数,确定关联关系函数。
79.示例性地,函数关系式为:y=ax5+bx4+cx3+dx2+ex+f,函数参数为a,b,c,d,e,f的具体数值,将函数参数为a,b,c,d,e,f的具体数值代入函数关系式,即可得到关联关系函数。例如,a=1,b=3,c=2,d=6,e=9,f=3,将其代入以上函数关系式,得到的关联关系函数为:y=x5+3x4+2x3+6x2+9x+3。
80.hash化具有单向性。换句话说,已知任意长度的数据(例如,图形码内容数据),通过hash化,很容易得到唯一的固定长度的数据(例如,函数参数)。但是,已知固定长度的数据(例如,函数参数),很难通过hash化的逆运算来得到任意长度的数据(例如,图形码内容数据)。因此,对图形码内容数据进行hash化,得到关联关系函数的函数参数,可以在图形码生成过程中,很容易地得到关联关系函数,进而根据关联关系函数,计算得到第二防伪信息。然而,在图形码验证过程中,不法人员无法通过hash化的逆运算来推导出关联关系函数,进一步提高了生成的图形码的安全性。
81.在一些实施例中,至少两个防伪信息可以包括第一防伪信息、第二防伪信息和第三防伪信息。第一防伪信息、第二防伪信息和第三防伪信息的函数关系式可以是y=ax5+bx4+cz3+dx2+ez+f。示例性地,将第一防伪信息作为关联关系函数y=f(x,z)中的x的具体数值(例如,0x4c2e1c),将第二防伪信息作为关联关系函数y=f(x,z)中的z的具体数值(例如,0x4c0000),将从而可以将第一防伪信息赋值给x,将第二防伪信息赋值给z,然后根据关联
关系函数y=f(x,z),计算得到y的具体数值(例如,0x44231234)。y的具体数值即为第三防伪信息。至少两个防伪信息可以包括更多数量的防伪信息,计算方式以此类推。
82.下面结合图9举例说明图形码验证方法。
83.图9所示为本公开一实施例提供的图形码验证方法的流程示意图。如图9所示,本公开实施例提供的图形码验证方法包括如下步骤。
84.步骤s910,识别待验证图形码,得到图形码内容数据、以及在待验证图形码的生成过程中引入的至少两个防伪信息各自对应的识别信息。
85.具体地,至少两个防伪信息之间具有关联关系。待验证图形码可以是附加在产品上的用于防伪的图形码。识别待验证图形码,得到图形码内容数据,可以是通过扫描待验证图形码,识别图形码内容数据。识别待验证图形码,得到在待验证图形码的生成过程中引入的至少两个防伪信息各自对应的识别信息,可以是提取待验证图形码中的至少两个防伪信息,从而得到至少两个防伪信息各自对应的识别信息。
86.示例性地,如果防伪信息是水印特征信息,可以通过提取待验证图形码中的高频信息来得到水印特征信息,也可以利用通过训练得到的防伪信息提取模型来提取待验证图形码的水印特征信息。
87.步骤s920,基于图形码内容数据,预测在待验证图形码的生成过程中引入的防伪信息,得到防伪预测信息。
88.具体地,基于图形码内容数据,预测在待验证图形码的生成过程中引入的防伪信息,可以是根据图形码内容数据,计算得到防伪预测信息。
89.步骤s930,基于至少两个防伪信息各自对应的识别信息和防伪预测信息,验证待验证图形码。
90.具体地,基于至少两个防伪信息各自对应的识别信息和防伪预测信息,验证待验证图形码,可以是对比至少两个防伪信息各自对应的识别信息与防伪预测信息,如果对比结果为一致,则可以验证该待验证图形码为真,如果对比结果为不一致,则可以验证该待验证图形码为假。
91.本公开实施例的图形码验证方法,识别的是包含至少两个防伪信息的待验证图形码,且至少两个防伪信息之间具有关联关系,并通过生成防伪预测信息来验证识别信息。因此,如果要攻击本公开实施例的待验证图形码,需要破解至少两个防伪信息之间的关联关系,如此才能在验证该图形码时,使防伪预测信息和识别信息一致。然而,至少两个防伪信息之间的关联关系,不易通过观测图像层面的图形码得到,因此,伪造的待验证图形码的识别信息很难和防伪预测信息一致,即,本公开实施例的图形码验证方法的安全性较高。
92.在一些实施例中,待验证识别码是基于上述的图形码生成方法生成的。
93.为进一步明确防伪预测信息的预测方法,下面结合图10进行举例说明。图10所示为本公开另一实施例提供的图形码验证方法的流程示意图。在图9所示实施例的基础上延伸出图10所示实施例,下面着重叙述图10所示实施例与图9所示实施例的不同之处,相同之处不再赘述。
94.如图10所示,在本公开实施例中,基于图形码内容数据,预测在待验证图形码的生成过程中引入的防伪信息,得到防伪预测信息的步骤,包括如下步骤。
95.步骤s1010,确定第一防伪信息和第二防伪信息之间的关联关系函数。
96.具体地,可以通过关联关系函数确定第一防伪信息和第二防伪信息之间具有关联关系。示例性地,已知第一防伪信息和关联关系函数,可以得到第二防伪信息,或者,已知第二防伪信息和关联关系函数,可以得到第一防伪信息。
97.具体地,该第一防伪信息和第二防伪信息之间的关联关系函数、与图形码生成方使用的第一防伪信息和第二防伪信息之间的关联关系函数相同。换句话说,该图形码验证方法使用的关联关系函数,可以是图形码生成方授权图形码验证方使用的。
98.示例性地,图形码生成方使用该关联关系函数生成了图形码。当图形码验证方需要验证该图形码时,可以使用该图形码生成方授权的验证软件(包含该关联关系函数)或验证平台(包含该关联关系函数)来扫描该待验证图形码。
99.步骤s1020,基于关联关系函数和第一防伪信息对应的识别信息,生成防伪预测信息。
100.具体地,防伪预测信息与第二防伪信息对应。
101.通过确定第一防伪信息和第二防伪信息之间的关联关系函数,并基于关联关系函数和第一防伪信息对应的识别信息,生成防伪预测信息,可以通过提高关联关系函数的复杂程度,来提高生成防伪预测信息的难度,从而进一步提高图形码验证的准确性。
102.为进一步明确关联关系函数的确定方式,下面结合图11进行举例说明。图11所示为本公开另一实施例提供的图形码验证方法的流程示意图。在图10所示实施例的基础上延伸出图11所示实施例,下面着重叙述图11所示实施例与图10所示实施例的不同之处,相同之处不再赘述。
103.如图11所示,在本公开实施例中,确定第一防伪信息和第二防伪信息之间的关联关系函数的步骤,包括如下步骤。
104.步骤s1110,获取表征第一防伪信息和第二防伪信息的关联关系的函数关系式。
105.步骤s1120,对图形码内容数据进行哈希化,得到关联关系函数的函数参数。
106.步骤s1130,基于函数关系式和函数参数,确定关联关系函数。
107.步骤s1110至步骤s1130的具体实现方式参考步骤s810至步骤s830,在此不再赘述。
108.为进一步明确图形码验证方法的具体方式,下面结合图12进行举例说明。如图12,图形码验证方法的具体方法可以包括如下步骤。
109.步骤s1210,识别待验证图形码,得到图形码内容数据、以及在待验证图形码的生成过程中引入的第一防伪信息和第二防伪信息各自对应的识别信息。
110.示例性地,识别得到的图形码内容数据可以是“12345678”。第一防伪信息对应的识别信息可以是“0x4c2e1c”。第二防伪信息对应的识别信息可以是“0x44231c4e”。
111.步骤s1220,获取表征第一防伪信息和第二防伪信息的关联关系的函数关系式。
112.示例性地,关联关系的函数关系式可以是y=ax5+bx4+cx3+dx2+ex+f。
113.步骤s1230,对图形码内容数据进行哈希化,得到关联关系函数的函数参数。
114.示例性地,关联关系函数的函数参数可以是a=1,b=3,c=2,d=6,e=9,f=3。
115.步骤s1240,基于函数关系式和函数参数,确定关联关系函数。
116.示例性地,基于函数关系式和函数参数,确定关联关系函数,可以是将函数参数代入函数关系式,得到的关联关系函数可以是:y=x5+3x4+2x3+6x2+9x+3。
117.步骤s1250,基于第一防伪信息对应的识别信息和关联关系函数,确定防伪预测信息。
118.示例性地,将第一防伪信息对应的识别信息“0x4c2e1c”作为步骤s1240的关联关系函数中的x的具体数值,可以得到防伪预测信息“0x44231c4e”。
119.步骤s1260,基于防伪预测信息和第二防伪信息对应的识别信息,验证待验证图形码。
120.示例性地,基于防伪预测信息和第二防伪信息对应的识别信息,验证待验证图形码,可以是对比第二防伪信息对应的识别信息可以是“0x44231c4e”和防伪预测信息“0x44231c4e”,可见第二防伪信息对应的识别信息与防伪预测信息相同,因此,待验证图形码的验证结果为真。换句话说,该待验证图形码所属的产品为真货。
121.示例性地,如果步骤s1210识别得到的第二防伪信息对应的识别信息是“0x44230000”。通过对比第二防伪信息对应的识别信息可以是“0x44230000”和防伪预测信息“0x44231c4e”,可知第二防伪信息对应的识别信息与防伪预测信息不同,因此,待验证图形码的验证结果为假。换句话说,该待验证图形码所属的产品为假货。
122.上文结合图4至图12,详细描述了本公开的方法实施例,下面结合图13和图14,详细描述本公开的装置实施例。此外,应理解,方法实施例的描述与装置实施例的描述相互对应,因此,未详细描述的部分可以参见前面方法实施例。
123.图13所示为本公开一实施例提供的图形码生成装置的结构示意图。如图13所示,本公开实施例提供的图形码生成装置1300包括:确定模块1310和生成模块1320。具体而言,确定模块1310用于,确定图形码内容数据对应的至少两个防伪信息,其中,至少两个防伪信息之间具有关联关系。生成模块1320用于,基于图形码内容数据和至少两个防伪信息,生成图形码内容数据对应的图形码。
124.在一些实施例中,确定模块1310还用于,确定图形码内容数据对应的第一防伪信息;基于图形码内容数据对应的第一防伪信息,生成图形码内容数据对应的第二防伪信息。
125.在一些实施例中,确定模块1310还用于,确定第一防伪信息和第二防伪信息之间的关联关系函数;基于第一防伪信息和关联关系函数,生成第二防伪信息。
126.在一些实施例中,确定模块1310还用于,将第一防伪信息作为关联关系函数的自变量,利用关联关系函数,生成作为关联关系函数的因变量的第二防伪信息。
127.在一些实施例中,确定模块1310还用于,确定表征第一防伪信息和第二防伪信息的关联关系的函数关系式;对图形码内容数据进行哈希化,得到关联关系函数的函数参数;基于函数关系式和函数参数,确定关联关系函数。
128.图14所示为本公开一实施例提供的图形码验证装置的结构示意图。如图14所示,本公开实施例提供的图形码验证装置1400包括:识别模块1410、预测模块1420和验证模块1430。具体而言,识别模块1410用于,识别待验证图形码,得到图形码内容数据、以及在待验证图形码的生成过程中引入的至少两个防伪信息各自对应的识别信息,其中,至少两个防伪信息之间具有关联关系。预测模块1420用于,基于图形码内容数据,预测在待验证图形码的生成过程中引入的防伪信息,得到防伪预测信息。验证模块1430用于,基于至少两个防伪信息各自对应的识别信息和防伪预测信息,验证待验证图形码。
129.在一些实施例中,预测模块1420还用于,确定第一防伪信息和第二防伪信息之间
的关联关系函数;基于关联关系函数和第一防伪信息对应的识别信息,生成防伪预测信息,其中,防伪预测信息与第二防伪信息对应。
130.在一些实施例中,预测模块1420还用于,获取表征第一防伪信息和第二防伪信息的关联关系的函数关系式;对图形码内容数据进行哈希化,得到关联关系函数的函数参数;基于函数关系式和函数参数,确定关联关系函数。
131.图15所示为本公开一实施例提供的电子设备的结构示意图。图15所示的电子设备1500(可以是一种计算机设备)包括存储器1501、处理器1502、通信接口1503以及总线1504。其中,存储器1501、处理器1502、通信接口1503通过总线1504实现彼此之间的通信连接。
132.存储器1501可以是只读存储器(read only memory,rom),静态存储设备,动态存储设备或者随机存取存储器(random access memory,ram)。存储器1501可以存储程序,当存储器1501中存储的程序被处理器1502执行时,处理器1502和通信接口1503用于执行本公开实施例的相关方法的各个步骤。
133.处理器1502可以采用通用的中央处理器(central processing unit,cpu),微处理器,应用专用集成电路(application specific integrated circuit,asic),图形处理器(graphics processing unit,gpu)或者一个或多个集成电路,用于执行相关程序,以实现本公开实施例的相关装置中的单元所需执行的功能。
134.处理器1502还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本公开的相关方法的各个步骤可以通过处理器1502中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1502还可以是通用处理器、数字信号处理器(digital signal processing,dsp)、专用集成电路(asic)、现场可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本公开实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本公开实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1501,处理器1502读取存储器1501中的信息,结合其硬件完成本公开实施例的相关装置中包括的单元所需执行的功能,或者执行本公开方法实施例的相关方法。
135.通信接口1503使用例如但不限于收发器一类的收发装置,来实现电子设备1500与其他设备或通信网络之间的通信。例如,可以通过通信接口1503获取图形码生成数据。
136.总线1504可包括在电子设备1500各个部件(例如,存储器1501、处理器1502、通信接口1503)之间传送信息的通路。
137.应注意,尽管图15所示的电子设备1500仅仅示出了存储器、处理器、通信接口,但是在具体实现过程中,本领域的技术人员应当理解,电子设备1500还包括实现正常运行所必需的其他器件。同时,根据具体需要,本领域的技术人员应当理解,电子设备1500还可包括实现其他附加功能的硬件器件。此外,本领域的技术人员应当理解,电子设备1500也可仅仅包括实现本公开实施例所必需的器件,而不必包括图15中所示的全部器件。
138.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟
以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本公开的范围。
139.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
140.在本公开所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其他的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其他的形式。
141.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
142.另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
143.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。
144.以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以所述权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1