一种二维码生成方法及装置与流程

文档序号:12734976阅读:180来源:国知局
一种二维码生成方法及装置与流程

本发明涉及计算机应用技术领域,特别是涉及一种二维码生成方法及装置。



背景技术:

随着计算机技术和互联网技术的快速发展,二维码逐渐兴起,在各行各业的应用越来越广泛。二维码是用某种特定的几何图形按照一定规律在平面分布的黑白相间的图形记录数据符号信息。

在现有技术中,针对某信息生成二维码时,二维码中仅包含该信息,当用户有需要扫描该二维码时,可以获得该二维码中包含的该信息。

通过这种方法生成的二维码,其中包含的信息容易被篡改,可信程度较低。一旦二维码中包含的信息被篡改为恶意信息,在用户有需要扫描该二维码时,可能会因获取到恶意信息而进入钓鱼网站,给用户造成经济损失。



技术实现要素:

本发明的目的是提供一种二维码生成方法及装置,以增强生成的二维码中包含的目标信息的可信程度,降低二维码中包含的目标信息被篡改导致的安全风险。

为解决上述技术问题,本发明提供如下技术方案:

一种二维码生成方法,应用于二维码发布平台,包括:

获得待生成二维码的目标信息;

使用设定的签名密钥对所述目标信息进行签名,获得所述目标信息的签名信息;

使用根签名密钥将所述签名密钥制作成数字证书;

基于所述目标信息、所述签名信息和所述数字证书的相关信息,生成所述目标信息的二维码。

在本发明的一种具体实施方式中,所述使用设定的签名密钥对所述目标信息进行签名,获得所述目标信息的签名信息,包括:

使用第一加密算法对所述目标信息进行哈希运算,获得所述目标信息的哈希数据;

使用第二加密算法和设定的签名密钥对所述哈希数据进行签名,获得所述目标信息的签名信息。

在本发明的一种具体实施方式中,在所述使用根签名密钥将所述签名密钥制作成数字证书之后,还包括:

将所述数字证书存放于设定的网络存储位置;

相应的,所述基于所述目标信息、所述签名信息和所述数字证书的相关信息,生成所述目标信息的二维码,包括:

根据所述目标信息、所述签名信息和所述数字证书的网络存储位置信息,生成所述目标信息的二维码。

在本发明的一种具体实施方式中,在所述生成所述目标信息的二维码之后,还包括:

发布所述二维码。

在本发明的一种具体实施方式中,还包括:

接收用户针对二维码扫描客户端的下载请求;

将所述二维码扫描客户端发送给所述用户,所述二维码扫描客户端中集成有所述二维码发布平台的根签名证书,以使所述用户在使用所述二维码扫描客户端扫描所述二维码发布平台发布的所述二维码时,通过所述根签名证书验证所述二维码中包含的所述目标信息是否可信。

一种二维码生成装置,应用于二维码发布平台,包括:

目标信息获得模块,用于获得待生成二维码的目标信息;

签名信息获得模块,用于使用设定的签名密钥对所述目标信息进行签名,获得所述目标信息的签名信息;

数字证书制作模块,用于使用根签名密钥将所述签名密钥制作成数字证书;

二维码生成模块,用于基于所述目标信息、所述签名信息和所述数字证书的相关信息,生成所述目标信息的二维码。

在本发明的一种具体实施方式中,所述签名信息获得模块,具体用于:

使用第一加密算法对所述目标信息进行哈希运算,获得所述目标信息的哈希数据;

使用第二加密算法和设定的签名密钥对所述哈希数据进行签名,获得所述目标信息的签名信息。

在本发明的一种具体实施方式中,还包括数字证书存储模块,用于:

在所述使用根签名密钥将所述签名密钥制作成数字证书之后,将所述数字证书存放于设定的网络存储位置;

相应的,所述二维码生成模块,具体用于:

根据所述目标信息、所述签名信息和所述数字证书的网络存储位置信息,生成所述目标信息的二维码。

在本发明的一种具体实施方式中,还包括二维码发布模块,用于:

在所述生成所述目标信息的二维码之后,发布所述二维码。

在本发明的一种具体实施方式中,还包括客户端发送模块,用于:

接收用户针对二维码扫描客户端的下载请求;

将所述二维码扫描客户端发送给所述用户,所述二维码扫描客户端中集成有所述二维码发布平台的根签名证书,以使所述用户在使用所述二维码扫描客户端扫描所述二维码发布平台发布的所述二维码时,通过所述根签名证书验证所述二维码中包含的所述目标信息是否可信。

应用本发明实施例所提供的技术方案,二维码发布平台在获得待生成二维码的目标信息后,使用设定的签名密钥对目标信息进行签名,获得目标信息的签名信息,使用根签名密钥将签名密钥制作成数字证书,基于目标信息、签名信息和数字证书的相关信息,生成目标信息的二维码,使得生成的二维码中包含有目标信息、目标信息的签名信息和数字证书的相关信息,基于这样的二维码,在有用户扫描时,可以通过数字证书和签名信息对目标信息进行验证,增强了生成的二维码中包含的目标信息的可信程度,降低了二维码中包含的目标信息被篡改导致的安全风险。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

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

图2为本发明实施例中一种二维码生成装置的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供了一种二维码生成方法,该方法可以应用于二维码发布平台。

参见图1所示,为本发明实施例所提供的一种二维码生成方法的实施流程图,该方法可以包括以下步骤:

S110:获得待生成二维码的目标信息。

在实际应用中,在客户有对某信息生成二维码的需求时,可以根据实际需要,发出对该信息的二维码生成请求。具体的,客户或操作员等可以登录二维码发布平台,填写待生成二维码的目标信息,并提交申请。

目标信息可以是一个网址、一段文字、一段数据等。

二维码发布平台获得待生成二维码的目标信息后,可以继续执行步骤S120的操作。

S120:使用设定的签名密钥对目标信息进行签名,获得目标信息的签名信息。

二维码发布平台获得待生成二维码的目标信息后,使用设定的签名密钥对目标信息进行签名,获得目标信息的签名信息。这样可以使得二维码发布后,在用户扫描该二维码时,通过该签名信息可以确定目标信息的可信程度,增强安全性。

在本发明的一种具体实施方式中,步骤S120可以包括以下步骤:

步骤一:使用第一加密算法对目标信息进行哈希运算,获得目标信息的哈希数据;

步骤二:使用第二加密算法和设定的签名密钥对哈希数据进行签名,获得目标信息的签名信息。

为便于描述,将上述两个步骤结合起来进行说明。

二维码发布平台获得待生成二维码的目标信息后,可以使用第一加密算法对目标信息进行哈希运算,获得目标信息的哈希数据。哈希运算为一种单向密码体制,是一个从明文到密文的不可逆的映射,只有加密过程没有解密过程。

第一加密算法可以优选国密算法,如国密杂凑SM3算法。当然,还可以为其他算法,如安全哈希SHA1算法等。

获得目标信息的哈希数据后,可以使用第二加密算法和设定的签名密钥对哈希数据进行签名,获得目标信息的签名信息。

第二加密算法可以优选国密算法,如国密椭圆曲线公钥密码SM2算法。当然,还可以为其他算法,为公钥加密算法RSA算法等。

采用国密算法实现对目标信息的签名,可以保证后续二维码发布后能够被二维码扫描客户端识别。

S130:使用根签名密钥将签名密钥制作成数字证书。

二维码发布平台具有根签名密钥,在步骤S120使用设定的签名密钥对目标信息进行签名,获得目标信息的签名信息后,可以使用根签名密钥将该签名密钥制作成数字证书。制作数字证书的过程为现有技术,本发明实施例对此不再赘述。

S140:基于目标信息、签名信息和数字证书的相关信息,生成目标信息的二维码。

在步骤S120获得了目标信息的签名信息,在步骤S130制作了数字证书,基于目标信息、签名信息和数字证书的相关信息,可以生成目标信息的二维码。具体的,可以直接根据目标信息、签名信息和数字证书,生成目标信息的二维码,即生成的二维码中包含目标信息、目标信息的签名信息和数字证书。

在本发明的一种具体实施方式中,在步骤S130之后,还可以包括以下步骤:

将数字证书存放于设定的网络存储位置。

相应的,步骤S140可以包括以下步骤:

根据目标信息、签名信息和数字证书的网络存储位置信息,生成目标信息的二维码。

在本发明实施例中,在使用根签名密钥将签名密钥制作成数字证书之后,可以将数字证书存放于设定的网络存储位置。根据目标信息、目标信息的签名信息和数字证书的网络存储位置信息,可以生成目标信息的二维码,即生成的二维码中包含目标信息、目标信息的签名信息和数字证书的网络存储位置信息。

在二维码中存放数字证书的网络存储位置信息,可以减少二维码存放的信息量。

应用本发明实施例所提供的方法,二维码发布平台在获得待生成二维码的目标信息后,使用设定的签名密钥对目标信息进行签名,获得目标信息的签名信息,使用根签名密钥将签名密钥制作成数字证书,基于目标信息、签名信息和数字证书的相关信息,生成目标信息的二维码,使得生成的二维码中包含有目标信息、目标信息的签名信息和数字证书的相关信息,基于这样的二维码,在有用户扫描时,可以通过数字证书和签名信息对目标信息进行验证,增强了生成的二维码中包含的目标信息的可信程度,降低了二维码中包含的目标信息被篡改导致的安全风险。

在本发明的一个实施例中,在步骤S140之后,还可以包括以下步骤:

发布二维码。

二维码发布平台在生成目标信息的二维码之后,可以根据实际需求,发布该二维码。如将二维码发布到设定的网站等。

在二维码被发布后,有需要的用户可以通过扫描该二维码获得该二维码中包含的目标信息,在扫描二维码时需要对二维码中包含的目标信息进行验证,确定二维码的可信程度,保证目标信息的安全性。

在本发明的一个实施例中,还可以包括以下步骤:

第一个步骤:接收用户针对二维码扫描客户端的下载请求;

第二个步骤:将二维码扫描客户端发送给用户,二维码扫描客户端中集成有二维码发布平台的根签名证书,以使用户在使用二维码扫描客户端扫描二维码发布平台发布的二维码时,通过根签名证书验证二维码中包含的目标信息是否可信。

在本发明实施例中,二维码发布平台可以定制二维码扫描客户端,该二维码扫描客户端结合二维码发布平台对二维码发布平台发布的二维码进行安全性验证。

二维码发布平台在接收到用户对二维码扫描客户端的下载请求时,可以将二维码扫描客户端发送给用户,在二维码扫描客户端中集成有二维码发布平台的根签名证书。当用户收到二维码扫描客户端,将其安装于自己使用的终端上之后,可以使用二维码扫描客户端对二维码进行扫描,获得相关信息。用户在使用二维码扫描客户端扫描二维码发布平台发布的二维码时,通过根签名证书可以验证二维码中包含的目标信息是否可信。

下面以本发明的一种生成二维码的具体实施方式为例说明二维码的验证过程。

该具体实施方式包含的步骤为:

步骤一:获得待生成二维码的目标信息;

步骤二:使用第一加密算法对目标信息进行哈希运算,获得目标信息的哈希数据;

步骤三:使用第二加密算法和设定的签名密钥对哈希数据进行签名,获得目标信息的签名信息;

步骤四:使用根签名密钥将签名密钥制作成数字证书;

步骤五:将数字证书存放于设定的网络存储位置;

步骤六:基于目标信息、签名信息和数字证书的网络存储位置信息,生成目标信息的二维码;

步骤七:发布二维码。

通过上述具体实施方式生成的二维码被发布后,用户可以通过预先从二维码发布平台上下载的二维码扫描客户端扫描二维码,获得二维码中包含的目标信息、签名信息和数字证书的网络存储位置信息。

根据数字证书的网络存储位置信息,在相应网络存储位置可以获取到数字证书。

二维码扫描客户端使用集成的二维码发布平台的根签名证书可以验证数字证书是否有效。具体的,可以使用根签名证书对数字证书进行解密,如果解密成功,则可以确定数字证书有效,否则,确定数字证书无效,其可能已经被篡改。

如果数字证书有效,则使用根签名证书对数字证书进行解密时,可以获得第一签名密钥。

使用第一加密算法对扫描到的二维码中包含的目标信息进行哈希运算,获得第一哈希数据。

使用第二加密算法和第一签名密钥对第一哈希数据进行签名,可以获得目标信息的第一签名信息。

比较第一签名信息和扫描到的二维码中包含的签名信息,确定二者是否相同,如果是,则可以确定目标信息可信。

对扫描到的二维码中目标信息验证通过后,可以输出显示目标信息的相关信息。比如,目标信息为一段文字,则可以直接输出显示该段文字的具体内容,目标信息为一个网址链接,则可以直接跳转至该网址,或者输出询问信息,询问用户是否打开该网址。

如果扫描到的二维码中目标信息验证未通过,则可以输出存在安全隐患的提示信息,根据用户实际需要,确定是否进行目标信息的进一步处理。

利用逐级验证的方式,只要保证二维码发布平台的根签名证书的合法性就可以保证整个验证链的安全,降低了保护密钥的难度。避免用户因扫描到二维码中被篡改的恶意信息进入钓鱼网站等而给用户造成经济损失。

相应于上面的方法实施例,本发明实施例还提供了一种二维码生成装置,下文描述的一种二维码生成装置与上文描述的一种二维码生成方法可相互对应参照。

参见图2所示,该装置包括以下模块:

目标信息获得模块210,用于获得待生成二维码的目标信息;

签名信息获得模块220,用于使用设定的签名密钥对目标信息进行签名,获得目标信息的签名信息;

数字证书制作模块230,用于使用根签名密钥将签名密钥制作成数字证书;

二维码生成模块240,用于基于目标信息、签名信息和数字证书的相关信息,生成目标信息的二维码。

应用本发明实施例所提供的装置,二维码发布平台在获得待生成二维码的目标信息后,使用设定的签名密钥对目标信息进行签名,获得目标信息的签名信息,使用根签名密钥将签名密钥制作成数字证书,基于目标信息、签名信息和数字证书的相关信息,生成目标信息的二维码,使得生成的二维码中包含有目标信息、目标信息的签名信息和数字证书的相关信息,基于这样的二维码,在有用户扫描时,可以通过数字证书和签名信息对目标信息进行验证,增强了生成的二维码中包含的目标信息的可信程度,降低了二维码中包含的目标信息被篡改导致的安全风险。

在本发明的一种具体实施方式中,签名信息获得模块220,具体用于:

使用第一加密算法对目标信息进行哈希运算,获得目标信息的哈希数据;

使用第二加密算法和设定的签名密钥对哈希数据进行签名,获得目标信息的签名信息。

在本发明的一种具体实施方式中,还包括数字证书存储模块,用于:

在使用根签名密钥将签名密钥制作成数字证书之后,将数字证书存放于设定的网络存储位置;

相应的,二维码生成模块240,具体用于:

根据目标信息、签名信息和数字证书的网络存储位置信息,生成目标信息的二维码。

在本发明的一种具体实施方式中,还包括二维码发布模块,用于:

在生成目标信息的二维码之后,发布二维码。

在本发明的一种具体实施方式中,还包括客户端发送模块,用于:

接收用户针对二维码扫描客户端的下载请求;

将二维码扫描客户端发送给用户,二维码扫描客户端中集成有二维码发布平台的根签名证书,以使用户在使用二维码扫描客户端扫描二维码发布平台发布的二维码时,通过根签名证书验证二维码中包含的目标信息是否可信。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的技术方案及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

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