发明内容
本申请实施例所要解决的技术问题是提供一种二维码扫码交互方法,能够在使用非对应应用对二维码进行扫码实现交互时,简化扫码过程。
相应的,本申请实施例还提供了一种二维码扫码交互装置,用以保证上述方法的实现及应用。
为了解决上述问题,本申请公开了一种二维码扫码交互方法,包括:
二维码扫码装置对二维码进行扫码获得所述二维码对应的第一二维码值;
所述二维码扫码装置获得所述第一二维码值对应的第二二维码值,其中,所述第一二维码值是依据所述第二二维码值生成的,并与所述第二二维码值一一对应;
所述二维码扫码装置调起所述第二二维码值对应的应用打开所述第二二维码值实现交互。
进一步,所述第一二维码值中包含标识信息;
所述二维码扫码装置获得所述第一二维码值对应的第二二维码值,包括:
所述二维码扫码装置获得所述标识信息对应的第二二维码值。
进一步,在所述二维码扫码装置调起所述第二二维码值对应的应用打开所述第二二维码值实现交互之前,还包括:
所述二维码扫码装置对调起所述第二二维码值对应的应用打开所述第二二维码值进行安全验证;
所述二维码扫码装置调起所述第二二维码值对应的应用打开所述第二二维码值实现交互,包括:
在安全验证成功后,所述二维码扫码装置调起所述第二二维码值对应的应用打开所述第二二维码值实现交互。
进一步,所述二维码扫码装置对调起所述第二二维码值对应的应用打开所述第二二维码值进行安全验证,包括:
所述二维码扫码装置获得所述标识信息对应的第一密钥;
所述二维码扫码装置将所述第一密钥发送至所述应用对应的应用服务器,所述应用服务器存储有所述标识信息对应的第二密钥;
所述二维码扫码装置接收所述应用服务器发送的验证结果,其中,若所述应用服务器比较所述第一密钥与所述第二密钥相同,则验证结果为安全验证成功,若不相同,则验证结果为安全验证失败。
进一步,在所述二维码扫码装置对二维码进行扫码获得所述二维码对应的第一二维码值之前,还包括:
由所述二维码扫码装置或注册服务器根据所述第二二维码值生成所述二维码。
进一步,所述根据所述第二二维码值生成所述二维码,包括:
接收对所述第二二维码值的注册请求;
生成所述第二二维码值对应的所述标识信息;
根据所述标识信息生成所述第一二维码值;
根据所述第一二维码值生成所述二维码。
本申请还公开了一种二维码扫码交互装置,包括:
扫码单元,被配置为对二维码进行扫码获得所述二维码对应的第一二维码值;
获取单元,被配置为获得所述第一二维码值对应的第二二维码值,其中,所述第一二维码值是依据所述第二二维码值生成的,并与所述第二二维码值一一对应;
调用单元,被配置为调起所述第二二维码值对应的应用打开所述第二二维码值实现交互。
进一步,所述第一二维码值中包含标识信息;
所述获取单元,具体被配置为获得所述标识信息对应的第二二维码值。
进一步,还包括:
验证单元,被配置为在所述调用单元调起所述第二二维码值对应的应用打开所述第二二维码值实现交互之前,对是否允许调起所述第二二维码值对应的应用打开所述第二二维码值进行安全验证;
所述调用单元,具体被配置为在所述验证单元的安全验证成功后,调起所述第二二维码值对应的应用打开所述第二二维码值实现交互。
进一步,所述验证单元包括:
获取子单元,被配置为获取所述标识信息对应的第一密钥;
发送子单元,被配置为将所述第一密钥发送至所述应用对应的应用服务器,所述应用服务器存储有所述标识信息对应的第二密钥;
接收子单元,被配置为接收所述应用服务器发送的验证结果,其中,若所述应用服务器比较所述第一密钥与所述第二密钥相同,则验证结果为安全验证成功,若不相同,则验证结果为安全验证失败。
进一步,所述装置还包括:
二维码生成单元,被配置为在所述扫码单元对二维码进行扫码获得所述二维码对应的第一二维码值之前,根据所述第二二维码值生成所述二维码。
进一步,所述二维码生成单元包括:
请求接收子单元,被配置为接收对所述第二二维码值的注册请求;
第一生成子单元,被配置为生成所述第二二维码值对应的所述标识信息;
第二生成子单元,被配置为根据所述标识信息生成所述第一二维码值;
第三生成子单元,被配置为根据所述第一二维码值生成所述二维码。
与现有技术相比,本申请实施例包括以下优点:
本申请实施例通过预先对二维码值进行处理,使得二维码扫码装置在对处理后的二维码进行扫码时,可以根据该处理后的二维码值获得对应的处理前的原始二维码值,从而可以调起该原始二维码值对应的应用来打开该原始二维码值,展示交互界面,避免了现有技术中在使用非对应应用扫码时需要下载或打开对应应用后再次扫码才能进入交互界面的方式,从而简化了扫码过程,减少了交互次数,提高了数据处理效率,应用该方法在扫码时不需要去关心扫码的二维码是哪个应用提供的服务,可以直接扫码,效果等同于用对应应用扫码后的效果。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
参照图1,示出了本申请的一种二维码扫码交互方法实施例的步骤流程图,具体可以包括如下步骤:
步骤101,对二维码进行扫码获得该二维码对应的第一二维码值。
在本步骤之前由二维码扫码装置或注册服务器对多个原始二维码值进行处理生成对应的处理后的二维码值,将处理后的二维码值记为第一二维码值,处理前的原始二维码值记为第二二维码值,二维码扫码装置或注册服务器进一步根据该第一二维码值生成二维码。二维码,第二二维码值和第一二维码值之间相互对应。该生成二维码的具体过程请参见后续实施例的描述。
本步骤中二维码扫码装置扫描的二维码为预先生成的众多二维码中的一个。二维码扫码装置对该二维码进行扫码可获得该二维码对应的第一二维码值,该第一二维码值可以为一URL(UniformResoureLocator,统一资源定位符)。
其中,第一二维码值与第二二维码值的具体表现形式可以不同,也可以相同,例如第一二维码值和第二二维码值均为http://weixin.com/xxx。
另外,在上述对第二二维码值进行处理时还可以生成标识信息,该第二二维码值,标识信息及第一二维码值之间存在对应关系。本步骤中二维码扫码装置扫码获得的第一二维码值中还可以包含有标识信息,该标识信息具体可以是id码,例如该第一二维码值为url(http://一淘火眼/server?id=***),该第一二维码值中包含的标识信息记为id=***。
步骤102,获得该第一二维码值对应的第二二维码值。
本申请实施例中,第一二维码值是依据第二二维码值生成的,并与第二二维码值一一对应,二维码扫码装置可以直接根据该第一二维码值在本地存储中或注册服务器中查询该第一二维码值对应的第二二维码值。
若第一二维码值中包含标识信息,二维码扫码装置也可以在本地查找或向注册服务器去请求该标识信息对应的第二二维码值。
步骤103,调起第二二维码值对应的应用打开第二二维码值实现交互。
二维码扫码装置在请求获得处理前的原始二维码值也即第二二维码值后,即可调起该第二二维码值对应的应用直接打开该第二二维码值,展示交互效果,例如可调起微信直接打开某一微信的二维码值,进入关注的交互界面。
其中,该二维码扫码装置调起第二二维码值对应的应用的过程可以是预先在二维码扫码装置中预置一个urlscheme来实现与某种应用的绑定,例如与微信绑定,该urlscheme可以用来从浏览器或者其他应用来启动所绑定的应用,例如自定义一个urlscheme:yitaohuoyan://xxx/xxx,可以和一淘火眼的应用绑定,在浏览器输入这个地址,就可以打开或调起一淘火眼应用并将参数传递过去,以运行该应用执行某一操作。该过程与现有技术类似,此处不再赘述。
本申请实施例通过预先对二维码值进行处理,使得二维码扫码装置在对处理后的二维码进行扫码时,可以根据处理后的二维码值获得对应的处理前的原始二维码值,从而可以调起该原始二维码值对应的应用来打开该原始二维码值,展示交互界面,避免了现有技术中在使用非对应应用扫码时需要下载或打开对应应用后再次扫码才能进入交互界面的方式,从而简化了扫码过程,减少了交互次数,提高了数据处理效率,应用该方法在扫码时不需要去关心扫码的二维码是哪个应用提供的服务,可以直接扫码,效果等同于用对应应用扫码后的效果。
扫码装置通过上述方法可以对任意二维码进行扫码实现交互,但是,便捷的同时也会带来安全隐患,为了保证调起应用实现交互过程的安全性,在本申请的另一实施例中,在调起第二二维码值对应的应用打开第二二维码值实现交互之前,如图2所示,该方法还可以包括:
步骤201,对是否允许调起第二二维码值对应的应用打开第二二维码值进行安全验证。
其中,如图3所示,若第一二维码值中包含标识信息,则该安全验证的过程可以包括:
步骤301,获得标识信息对应的第一密钥。
在处理第二二维码值生成二维码之前,可以首先为该第二二维码值生成密钥,可见,该密钥与上述第一二维码值、第二二维码值及标识信息也相对应。该密钥分别存储在注册服务器(或二维码扫码装置),以及第二二维码值对应应用的服务器中,将该应用对应的服务器记为应用服务器。
若二维码扫码装置合法或安全,则可以向注册服务器请求到或可以在装置本地存储中查询到该标识信息对应的密钥,若二维码扫码装置不合法或不安全,则需要通过其他方法获得密钥。将二维码扫码装置获得的密钥记为第一密钥。
步骤302,将第一密钥发送至上述应用对应的应用服务器,该应用服务器存储有上述标识信息对应的第二密钥。
二维码扫码装置将该第一密钥发送至上述应用服务器,应用服务器预先存储有正确的密钥,记为第二密钥,应用服务器对第一密钥及预存储的第二密钥进行比对。若第一密钥与第二密钥相同,则验证结果为安全验证成功,若不相同,则验证结果为安全验证失败。
步骤303,接收应用服务器发送的验证结果。
应用服务器将验证结果发送至该二维码扫码装置。
若第一二维码值中不包含标识信息,则安全验证的过程与前述步骤301~303类似,区别仅在于:在步骤301中,根据第一二维码值获得对应的第一密钥。在步骤302中应用服务器中存储有与第二二维码值对应的第二密钥。
该安全验证的方法有很多,密钥只是其中一种,此处仅为举例,并非限定。
由上述安全验证可见,只有当该二维码扫码装置合法时,该二维码扫码装置才可能获得准确的密钥,通过安全验证。
在确定安全验证成功后,再执行前述步骤103,调起第二二维码值对应的应用打开第二二维码值实现交互。若验证失败,则说明该二维码扫码装置不合法,不做其他操作。
通过增加上述安全验证,可以有效的保证应用间交互的安全性。
在另一实施例中,在二维码扫码装置对二维码进行扫码获得二维码对应的第一二维码值之前,可以由二维码扫码装置或注册服务器根据第二二维码值生成上述二维码。以注册服务器根据第二二维码值生成二维码为例,该生成过程如图4所示,可以包括:
步骤401,注册服务器接收对第二二维码值的注册请求。
步骤402,注册服务器生成第二二维码值对应的标识信息。
注册服务器可以首先判断是否已存在该第二二维码值,如果没有再生成该第二二维码值对应的标识信息。
步骤403,注册服务器根据标识信息生成第一二维码值。
步骤404,注册服务器根据第一二维码值生成上述二维码。
另外,在执行步骤402之前,注册服务器还可以首先生成该第二二维码值的密钥key,即前述第二密钥,以便于进行前述安全验证。
由二维码扫码装置根据第二二维码值生成二维码的过程与前述步骤401~404类似。
在另一实施例中,以上述注册服务器为一淘火眼服务器,二维码扫码装置上安装有一淘火眼应用为例进行说明,如图5所示,该扫码交互方法可以包括:
步骤501,二维码扫码装置采用一淘火眼应用对一二维码进行扫码。
该二维码为预先由一淘火眼服务器通过上述步骤401~404处理过的二维码。
步骤502,二维码扫码装置获得该二维码对应的第一二维码值中的ID。
步骤503,二维码扫码装置向一淘火眼服务器请求该ID对应的第二二维码值及第一密钥。
步骤504,二维码扫码装置根据第二二维码值及第一密钥运行urlscheme,调起该第二二维码值对应的应用。
步骤505,该应用对应的服务器比较自身存储的第二密钥及二维码扫码装置发送的第一密钥。
由于该二维码扫码装置所获得的第一密钥为一淘火眼服务器为第二二维码值注册获得的密钥,因此该第一密钥与第二密钥相同,此时该二维码扫码装置通过安全验证,执行步骤506。
步骤506,应用打开该第二二维码值,进入交互界面。
在另一实施例中,该二维码扫码装置扫码采用的应用也可以兼容该一淘火眼应用的功能。例如,在“格瓦拉”中集成该一淘火眼应用的功能,当二维码扫码装置采用“格瓦拉”扫码一淘火眼服务器处理后的二维码时,“格瓦拉”获得该二维码对应的二维码值中的标识信息时,可以按照前述方法向一淘火眼服务器请求该标识信息对应的原始二维码值及密钥,然后调起对应,进入交互界面。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
参照图6,示出了本申请一种二维码扫码交互装置实施例的结构框图,具体可以包括如下单元:
扫码单元601,被配置为对二维码进行扫码获得所述二维码对应的第一二维码值;
获取单元602,被配置为获得所述第一二维码值对应的第二二维码值,其中,所述第一二维码值是依据所述第二二维码值生成的,并与所述第二二维码值一一对应;
调用单元603,被配置为调起所述第二二维码值对应的应用打开所述第二二维码值实现交互。
本申请实施例通过上述单元预先对二维码值进行处理,使得二维码扫码装置在对处理后的二维码进行扫码时,可以根据处理前的二维码值获得对应的处理前的原始二维码值,从而可以调起该原始二维码值对应的应用来打开该原始二维码值,展示交互界面,避免了现有技术中在使用非对应应用扫码时需要下载或打开对应应用后再次扫码才能进入交互界面的方式,从而简化了扫码过程,减少了交互次数,提高了数据处理效率。
在另一实施例中,如图7所示,该装置除了包括扫码单元601,获取单元602,调用单元603,还可以包括验证单元701。
其中,扫码单元601扫码获得的第一二维码值中包含标识信息;
获取单元602,具体被配置为获得所述标识信息对应的第二二维码值。
验证单元701,被配置为在所述调用单元603调起所述第二二维码值对应的应用打开所述第二二维码值实现交互之前,对是否允许调起所述第二二维码值对应的应用打开所述第二二维码值进行安全验证;
调用单元603,具体被配置为在所述验证单元701的安全验证成功后,调起所述第二二维码值对应的应用打开所述第二二维码值实现交互。
如图8所示,该验证单元701可进一步包括:
获取子单元801,被配置为获取所述标识信息对应的密钥;
发送子单元802,被配置为将所述第一密钥发送至所述应用对应的应用服务器,所述应用服务器存储有所述标识信息对应的第二密钥;
接收子单元803,被配置为接收所述应用服务器发送的验证结果,其中,若所述应用服务器比较所述第一密钥与所述第二密钥相同,则验证结果为安全验证成功,若不相同,则验证结果为安全验证失败。
在另一实施例中,如图9所示,该装置除了包括扫码单元601,获取单元602,调用单元603,还可以包括:
二维码生成单元901,被配置为在所述扫码单元601对二维码进行扫码获得所述二维码对应的第一二维码值之前,根据所述第二二维码值生成所述二维码。
该二维码生成单元901可以进一步包括:
请求接收子单元,被配置为接收对所述第二二维码值的注册请求;
第一生成子单元,被配置为生成所述第二二维码值对应的所述标识信息;
第二生成子单元,被配置为根据所述标识信息生成所述第一二维码值;
第三生成子单元,被配置为根据所述第一二维码值生成所述二维码。
本申请实施例还公开了一种电子设备,包括数据总线,存储器,显示器和处理器,其中,存储器中存储有一段运行程序代码,处理器通过数据总线获取存储器中的程序代码,并执行以下步骤:
对二维码进行扫码获得所述二维码对应的第一二维码值;
获得所述第一二维码值对应的第二二维码值,其中,所述第一二维码值是依据所述第二二维码值生成的,并与所述第二二维码值一一对应;
调起所述第二二维码值对应的应用打开所述第二二维码值实现交互。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
在一个典型的配置中,所述计算机设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flashRAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非持续性的电脑可读媒体(transitorymedia),如调制的数据信号和载波。
本申请实施例是参照根据本申请实施例的方法、终端设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种二维码扫码交互方法和一种二维码扫码交互装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。