一种验证码的生成方法及装置与流程

文档序号:23615467发布日期:2021-01-12 10:24阅读:119来源:国知局
一种验证码的生成方法及装置与流程

本申请涉及通信技术领域,尤其涉及一种验证码的生成方法及装置。



背景技术:

随着移动终端的发展,移动应用开始大量出现,几乎所有与人们工作和生活息息相关的领域都有不同的移动应用,比如娱乐类应用、资讯类应用、生活类应用、金融类应用、社交类应用等等,这些移动应用已经深入人们的日常生活习惯中,同时给人们带来了巨大便利。

移动应用给人们带来了巨大的便利,但是随之而来的就是用户网络数据的安全问题。现有技术中通过校验验证码来对用户网络数据的安全进行保障,具体来说,应用服务器在接收到应用客户端的请求后,生成验证码并通过第三方验证码通道将验证码发送至移动运营商,由移动运营商向指定号码发送验证码。采用该种方式,应用在开发过程中不仅要实现客户端与服务端之间的通信,同时还要实现服务端与第三方短信验证码通道提供商之间的通信,实现过程繁琐,且整个开发过程中至少涉及到三方:客户端、服务端、第三方验证码通道,使得应用的开发成本高、周期长。

基于此,目前亟需一种验证码的生成方法,用于解决由应用服务端生成验证码而导致应用的开发成本高、周期长的技术问题。



技术实现要素:

本发明实施例提供一种验证码的生成方法及装置,用于解决由应用服务端生成验证码而导致应用的开发成本高、周期长的技术问题。

第一方面,本发明实施例提供一种验证码的生成方法,包括:

验证码插件接收接入所述验证码插件的应用客户端发送的第一请求,所述第一请求中包括用户标识,所述第一请求用于请求向所述用户标识对应的用户提供验证码;以及,所述验证码插件根据所述第一请求生成验证码,并通过验证码通道将所述验证码发送给运营商平台,以使所述运营商平台向所述用户提供所述验证码。

采用上述方法,可以通过验证码插件生成验证码,相比于现有技术利用应用服务端生成验证码的方式来说,本申请实施例能够有效解决由应用服务端生成验证码而导致应用的开发成本高、周期长的问题。

在一种可能的设计中,所述验证码插件接收所述应用客户端发送的第二请求,所述第二请求用于请求校验所述验证码;所述验证码插件对所述验证码进行校验,并将校验结果发送给所述应用客户端。

在一种可能的设计中,若所述校验结果为校验成功,则所述方法还包括:所述验证码插件确定所述用户标识对应的用户为使用所述应用的用户,并将所述用户标识存储到预设数据库中。

在一种可能的设计中,所述验证码插件接收所述应用客户端发送的第三请求,所述第三请求用于请求查询应用内好友列表;所述验证码插件获取所述用户的通信录列表,并从所述预设数据库中确定出与所述通信录列表中的用户标识匹配的目标用户标识;所述验证码插件根据所述目标用户标识生成所述应用内好友列表,并将所述应用内好友列表发送给所述应用客户端。

如此,用户使用应用客户端时,应用客户端接入的验证码插件可以找到通信录中同样使用这一应用客户端的用户,并可以将其加为好友,方便、快捷的实现应用客户端内通讯。

第二方面,本发明实施例提供的验证码的生成方法,包括:

应用客户端接收第一操作指令,所述第一操作指令用于触发验证码发送功能;所述应用客户端向所述应用客户端接入的验证码插件发送第一请求,所述第一请求中包括用户标识,所述第一请求用于请求向所述用户标识对应的用户提供验证码。

采用上述方法,应用客户端接入验证码插件,可以通过验证码插件生成验证码,相比于现有技术应用客户端利用应用服务端生成验证码的方式来说,本申请实施例能够有效解决由应用服务端生成验证码而导致应用的开发成本高、周期长的问题。

在一种可能的设计中,所述应用客户端接收到所述用户输入的所述验证码后,向所述验证码插件发送第二请求,所述第二请求用于请求校验所述验证码;所述应用客户端接收所述验证码插件返回的校验结果。

在一种可能的设计中,所述应用客户端接收第二操作指令,所述第二操作指令用于触发应用内好友查询功能;所述应用客户端向所述验证码插件发送第三请求,所述第三请求用于请求查询应用内好友列表。

如此,用户使用应用客户端时,应用客户端接入的验证码插件可以找到通信录中同样使用这一应用客户端的用户,方便、快捷的实现应用客户端内通讯。

第三方面,本发明实施例提供一种验证码的生成装置,所述验证码的生成装置包括验证码插件,所述验证码插件包括:

接收模块,用于接收接入所述验证码插件的应用客户端发送的第一请求,所述第一请求中包括用户标识,所述第一请求用于请求向所述用户标识对应的用户提供验证码;处理模块,用于根据所述第一请求生成验证码;发送模块,用于通过验证码通道将所述验证码发送给运营商平台,以使所述运营商平台向所述用户提供所述验证码。

在一种可能的设计中,所述接收模块还用于:接收所述应用客户端发送的第二请求,所述第二请求用于请求校验所述验证码;所述处理模块还用于:对所述验证码进行校验;所述发送模块还用于:将校验结果发送给所述应用客户端。

在一种可能的设计中,若所述处理模块校验结果为校验成功,则所述处理模块还用于:确定所述用户标识对应的用户为使用所述应用的用户,并将所述用户标识存储到预设数据库中。

在一种可能的设计中,所述接收模块还用于:接收所述应用客户端发送的第三请求,所述第三请求用于请求查询应用内好友列表;所述处理模块还用于:获取所述用户的通信录列表,并从所述预设数据库中确定出与所述通信录列表中的用户标识匹配的目标用户标识,根据所述目标用户标识生成所述应用内好友列表;所述发送模块还用于:将所述应用内好友列表发送给所述应用客户端。

第四方面,本发明实施例提供一种验证码的生成装置,所述验证码的生成装置包括应用客户端,所述应用客户端包括:接收模块,用于接收第一操作指令,所述第一操作指令用于触发验证码发送功能;发送模块,用于向接入的验证码插件发送第一请求,所述第一请求中包括用户标识,所述第一请求用于请求向所述用户标识对应的用户提供验证码。

在一种可能的设计中,所述发送模块还用于:在所述接收模块接收到所述用户输入的所述验证码后,向所述验证码插件发送第二请求,所述第二请求用于请求校验所述验证码;所述接收模块还用于:接收所述验证码插件返回的校验结果。

在一种可能的设计中,所述接收模块还用于:接收第二操作指令,所述第二操作指令用于触发应用内好友查询功能;所述发送模块还用于:向所述验证码插件发送第三请求,所述第三请求用于请求查询应用内好友列表。

本申请的这些实现方式或其他实现方式在以下实施例的描述中会更加简明易懂。

附图说明

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

图1为现有技术的一种验证码生成流程示意图;

图2为本申请实施例提供的一种系统架构示意图;

图3为本发明实施例中一种验证码生成方法的流程示意图;

图4为本发明实施例提供的一种查询应用内好友列表的流程示意图;

图5为本发明中的验证码生成装置图;

图6为本发明中的验证码生成又一种装置图。

具体实施方式

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

下面结合附图对本申请实施例进行详细描述。

通过校验验证码对用户网络数据的安全进行保障为目前常用的一种安全保障方法。在该方法中,应用服务器在接收到应用客户端的请求后,生成验证码并通过第三方验证码通道将验证码发送至移动运营商,由移动运营商向指定号码发送验证码以便于校验。参见图1,为一种可能的实现流程示意图。

如图1所示,该实现流程可以包括:

步骤101,用户触发应用客户端。

步骤102,应用客户端生成请求下发验证码指令。

步骤103,应用客户端向应用服务端发送请求下发验证码指令。

应用客户端可以是微信、微博、优酷等应用,开发应用同时开发应用服务端。

步骤104,应用服务端接收请求下发验证码指令并生成验证码。

步骤105,应用服务端向第三方短信验证码通道发送请求下发短信或语音验证的指令。

应用服务端需要接入第三方短信验证码通道,用于多网合一,实现不同网络之间的通讯。

步骤106,第三方短信验证码通道向移动运营商发送请求向指定的电话号码下发短信或语音验证的指令。

步骤107,移动运营商根据请求指令中的信息,向请求指令中的电话号码下发请求指令中携带的短信或语音。

步骤108,移动运营商向指定的电话号码发送短信或语音验证。

步骤109,用户输入验证码。

示例性的,终端屏幕上显示有验证码填写文本框,用户收到验证码短信或语音,将验证码输入文本框内。

步骤110,应用客户端生成请求校验验证码指令。

步骤111,应用客户端发送请求校验验证码指令到应用服务端。

步骤112,应用服务端校验验证码并生成校验结果。

步骤113,应用服务端向应用客户端下发校验结果。

然而,由于上述实现流程中是由应用服务端生成验证码,从而导致应用在开发过程中不仅要实现客户端与服务端之间的通信,同时还要实现服务端与第三方短信验证码通道提供商之间的通信,使得应用的开发成本高、周期长。

基于此,本申请实施例提供一种验证码的生成方法及装置,用于解决由应用服务端生成验证码而导致应用的开发成本高、周期长的技术问题。

图2为本申请实施例适用的一种系统架构图。如图2所示,该系统架构包括:验证码插件、应用客户端。其中,应用客户端可以接入验证码插件,并在需要使用验证码功能的场景中,直接调度验证码插件来生成验证码。

验证码插件也可以称为验证码工具包或其它可能的名称,具体不做限定。在一个示例中,验证码插件中可以包括验证码插件客户端和验证码插件服务端;验证码插件客户端负责与应用客户端进行通信,验证码插件服务端负责执行相关的操作;比如验证码插件客户端接收应用客户端的相关请求,并将请求发送给验证码插件服务端,进而由验证码插件服务端基于请求执行相应的操作。

示例性地,验证码插件和应用客户端可以安装于同一终端设备中,该终端设备可以为手机、平板电脑、笔记本电脑、个人数字助理(personaldigitalassistant,pda)、销售终端(pointofsales,pos)、车载计算机、智能手表,电视机、以及其他具有显示屏的电子设备等,具体不做限定。下文中将主要以终端设备为手机为例进行介绍。

示例性地,上述系统架构还可以包括第三方验证码通道平台、运营商平台。其中,第三方通道平台可以为验证码插件在开发过程中预先关联的、支持一种或多种运营商网络(比如联通、电信、移动中的至少一种)的通道平台。当第三方通道平台支持联通、电信和移动等运营商网络时,上述运营商平台可以包括联通运营商平台、电信运营商平台和移动运营商平台。

基于图2所示意的系统架构,图3为本申请实施例提供的一种验证码的生成方法所对应的流程示意图。如图3所示,该方法包括:

步骤301,应用客户端接收第一操作指令,所述第一操作指令用于触发验证码发送功能。

示例性地,第一操作指令可以为多种可能的操作指令,具体不做限定。举个例子,可以在终端设备的屏幕上显示发送验证码这一文本框,当终端设备的屏幕为触控屏时,若用户点击发送验证码这一文本框,则终端设备通过触控屏检测到这一操作后,可以生成第一操作指令,并将第一操作指令传递给应用客户端。

相应的,步骤302,应用客户端接收到第一操作指令并生成第一请求,所述第一请求中包括用户标识,所述第一请求用于请求向所述用户标识对应的用户提供验证码。

步骤303,应用客户端向所述应用客户端接入的验证码插件发送第一请求。

此处,在一个示例中,用户标识可以为用户的手机号码。

示例性地,应用客户端可以为任一种接入验证码插件的应用客户端,比如微信的应用客户端、钉钉的应用客户端等。举个例子,以应用客户端为微信的应用客户端为例,当用户启动应用客户端,并确定使用手机号码通过动态验证的方式登录账户时,会通过第一操作指令触发验证码发送功能;此时,应用客户端基于用户的触发,可以向验证码插件发送第一请求。

相应地,在步骤304中,验证码插件接收接入验证码插件的应用客户端发送的第一请求,并根据第一请求生成验证码。进而,验证插件可以通过验证码通道将所述验证码发送给运营商平台,以使所述运营商平台向所述用户提供所述验证码。

此处,验证码插件生成验证码的具体实现方式可以有多种,比如,验证码插件可以基于预设的随机算法生成一组数字,该组数字即为验证码。或者,验证码也可以为:例如一段语音、一段视频、一串文字、一幅图片等,具体不做限制。

示例性地,验证码通道可以理解为图2所示意的系统架构中第三方验证码通道平台所提供的验证码通道,该验证码通道可以为移动网络的验证码通道、电信网络的验证码通道或联通网络的验证码通道,具体不做限定。若验证码插件预先关联有上述三种网络的验证码通道,且每种网络预先关联多个通道,则可以选择相应网络中较好的验证码通道,将验证码发送给相应运营商平台,从而保证验证码通道能够及时准确地提供给用户。

比如,具体实施中,验证码插件向第三方验证码通道发送请求下发验证码的指令,第三方验证码通道接收到请求下发验证码的指令后,可以选择网络较好的验证码通道,将请求下发验证码的指令转发给向运营商平台;进一步地,运营商平台接收请求下发验证码指令,并在本地数据库中,查找出与指定用户标识相对应的手机号码;运营商平台向与指定用户标识相对应的手机号码下发验证码。

其中,请求下发验证码的指令中可以包括验证码插件生成的验证码以及用户标识。其中,用户标识可以为用于标识用户的信息,比如电话号码。

示例性地,上述方法还可以包括:

步骤305,应用客户端接收所述用户输入的验证码。

步骤306,应用客户端根据用户输入的验证码生成第二请求。

步骤307,应用客户端向验证码插件发送第二请求,第二请求用于请求校验所述验证码。

在步骤308中,验证码插件接收应用客户端发送的第二请求后,验证码插件对验证码进行校验,并生成校验结果。

相应的,步骤309中,验证码插件向应用客户端发送校验结果。

相应地,在步骤310中,应用客户端接收所述验证码插件返回的校验结果。

示例性地,如图4所示,上述方法还可以包括:

步骤401,所述应用客户端接收第二操作指令,所述第二操作指令用于触发应用内好友查询功能。

示例性地,第二操作指令可以为多种可能的操作指令,具体不做限定。举个例子,应用客户端可以在终端设备的屏幕上显示应用内好友这一文本框,当终端设备的屏幕为触控屏时,若用户点击应用内好友这一文本框,则终端设备通过触控屏检测到这一操作后,可以生成第二操作指令,并将第二操作指令传递给应用客户端。

示例性的,在进行第二操作指令前,先对应用客户端授权通讯录,以使应用客户端可以访问通讯录,获取通讯录内信息。

步骤402,应用客户端接收第二操作指令,并生成第三请求,所述第三请求用于请求查询应用内好友列表。

步骤403,应用客户端向验证码插件发送第三请求。

步骤404,验证码插件获取用户的通讯录列表,并从预设数据库中确定出与通信录列表中的用户标识匹配的目标用户标识;验证码插件根据目标用户标识生成所述应用内好友列表。

示例性的,验证码插件接收到第三请求后,基于第三请求访问终端通讯录数据库,并查找本地预设数据库用户数据,将同时存在于终端通讯录数据库与验证码插件本地预设数据库的用户数据提出,生成应用内好友列表。

步骤405,将所述应用内好友列表发送给所述应用客户端。

步骤406,应用客户端展示应用内好友信息。

如此,通过上述步骤401至步骤406,用户在使用应用客户端时,应用客户端接入的验证码插件可以找到通信录中同样使用这一应用客户端的用户,方便、快捷的实现应用客户端内通讯。

需要说明的是:(1)图3中的步骤编号仅是为便于描述而进行的编号,并不构成对各个步骤的先后执行顺序的限制;上述各个步骤中没有时序依赖关系的步骤之间没有严格的执行顺序,可根据实际情况调整。图3中的各个步骤也并非执行流程中的必要步骤,具体实施中可以根据实际需要进行删减。

(2)本申请实施例中,上述步骤301至步骤310所描述的方案(即生成并校验验证码的方案)和上述步骤401至步骤406(即获取应用内好友列表的方案)可以分别单独实施,或者,也可以结合实施,具体不做限定。

基于同样的构思,本发明实施例还提供一种验证码生成装置,所述验证码的生成装置包括验证码插件,图5为本申请实施例提供的验证码插件的结构示意图,如图5示,包括:

接收模块501,用于接收接入所述验证码插件的应用客户端发送的第一请求,所述第一请求中包括用户标识,所述第一请求用于请求向所述用户标识对应的用户提供验证码;处理模块502,用于根据所述第一请求生成验证码;发送模块503,用于通过验证码通道将所述验证码发送给运营商平台,以使所述运营商平台向所述用户提供所述验证码。

在一种可能的设计中,所述接收模块还用于:接收所述应用客户端发送的第二请求,所述第二请求用于请求校验所述验证码;所述处理模块502还用于:对所述验证码进行校验;所述发送模块503还用于:将校验结果发送给所述应用客户端。

在一种可能的设计中,若所述处理模块校验结果为校验成功,则所述处理模块502还用于:确定所述用户标识对应的用户为使用所述应用的用户,并将所述用户标识存储到预设数据库中。

在一种可能的设计中,所述接收模块501还用于:接收所述应用客户端发送的第三请求,所述第三请求用于请求查询应用内好友列表;所述处理模块502还用于:获取所述用户的通信录列表,并从所述预设数据库中确定出与所述通信录列表中的用户标识匹配的目标用户标识,根据所述目标用户标识生成所述应用内好友列表;所述发送模块503还用于:将所述应用内好友列表发送给所述应用客户端。

基于同样的构思,本发明实施例还提供一种验证码生成装置,所述验证码的生成装置包括应用客户端,图6为本申请实施例提供的应用客户端的结构示意图,如图6示,包括:

接收模块601,用于接收第一操作指令,所述第一操作指令用于触发验证码发送功能;发送模块602,用于向接入的验证码插件发送第一请求,所述第一请求中包括用户标识,所述第一请求用于请求向所述用户标识对应的用户提供验证码。

在一种可能的设计中,在接收模块接收到所述用户输入的所述验证码后,所述发送模块602还用于:向所述验证码插件发送第二请求,所述第二请求用于请求校验所述验证码;所述接收模块601还用于:接收所述验证码插件返回的校验结果。

在一种可能的设计中,所述接收模块601还用于:接收第二操作指令,所述第二操作指令用于触发应用内好友查询功能;所述发送模块602还用于:向所述验证码插件发送第三请求,所述第三请求用于请求查询应用内好友列表。

基于同一发明构思,本发明实施例还提供了一种计算机可读非易失性存储介质,包括计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得计算机执行上述图3实施例的验证码校验的方法。

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

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

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