首页> 中国专利> 接口调用方法及终端设备、接口调用的响应方法及服务器

接口调用方法及终端设备、接口调用的响应方法及服务器

摘要

本发明适用于互联网技术领域,提供了一种接口调用方法及终端设备、一种接口调用的响应方法及服务器,通过接收移动设备的设备标识、接口参数以及接口验证短信,从接口验证短信中提取接口验证码,并基于设备标识对应的算法,分别对接口验证码的摘要进行签名运算,以及对接口参数进行加密,得到接口加密字段和验证码签名字段,并将设备标识、接口加密字段以及验证码签名字段组装成接口调用请求,并将接口调用请求发送给服务器,以提高接口调用时的自动化水平以及安全性。

著录项

  • 公开/公告号CN108365961A

    专利类型发明专利

  • 公开/公告日2018-08-03

    原文格式PDF

  • 申请/专利权人 深圳壹账通智能科技有限公司;

    申请/专利号CN201810001742.4

  • 发明设计人 丁晶晶;徐国诚;

    申请日2018-01-02

  • 分类号H04L9/32(20060101);H04L29/06(20060101);G06F21/60(20130101);G06F21/64(20130101);H04W4/14(20090101);

  • 代理机构44237 深圳中一专利商标事务所;

  • 代理人官建红

  • 地址 518000 广东省深圳市前海深港合作区前湾一路1号A栋201室

  • 入库时间 2023-06-19 06:31:23

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-07-19

    授权

    授权

  • 2018-08-28

    实质审查的生效 IPC(主分类):H04L9/32 申请日:20180102

    实质审查的生效

  • 2018-08-03

    公开

    公开

说明书

技术领域

本发明属于互联网技术领域,尤其涉及一种接口调用方法及终端设备、一种接口调用的响应方法及服务器。

背景技术

当前很多终端设备在实现某种功能时都需要从服务器调用相关的接口,一般情况下,终端设备的用户在输入待调用接口的参数后,还需要手动进行后续操作以实现接口的调用,这给用户带来了极大的不便。为了让用户更加便捷的使用终端设备,现有技术中存在一些接口自动调用的方法,但是当服务器需要终端设备提供验证码时,现有的接口自动调用方法便无法实现。

除此之外,现有的接口自动调用方法也存在安全性较低的问题,可能使得用户数据或服务器接口数据在自动调用过程中被盗取。

综上,现有技术在进行接口调用时,存在自动化程度低以及安全性差的问题。

发明内容

有鉴于此,本发明实施例提供了一种接口调用方法及终端设备,以解决现有技术在接口调用和保存过程中存在的安全性差的问题。

本发明实施例的第一方面提供了一种接口调用方法,包括:

接收移动设备的设备标识、接口参数以及服务器发送给所述移动设备的接口验证短信;

从所述接口验证短信中提取接口验证码;

根据所述设备标识确定加密算法,并通过所述加密算法对所述接口参数进行加密,生成接口加密字段;

计算所述接口验证码的摘要,作为验证码摘要;

根据所述设备标识确定签名密钥,并通过所述签名密钥对所述验证码摘要进行签名运算,生成验证码签名字段;

将所述设备标识、所述接口加密字段以及所述验证码签名字段组装成接口调用请求,并将所述接口调用请求发送至服务器。

本发明实施例的第二方面提供了一种接口调用的响应方法,包括:

接收终端发送的接口调用请求;

从所述接口调用请求中解析出移动设备的设备标识、接口加密字段以及验证码签名字段;

根据所述设备标识确定签名密钥,并通过所述签名密钥对所述验证码签名字段进行解码运算,得到验证码摘要;

根据所述验证码摘要还原出接口验证码;

若所述接口验证码与服务器发送给所述移动设备的接口验证码相同,则根据所述设备标识确定解密算法,并通过所述解密算法对所述接口加密字段进行解密计算,生成接口参数;

若所述服务器中存在与所述接口参数一致的参数,则根据所述接口参数对应的接口逻辑对所述终端发送的待处理数据进行处理。

本发明实施例的第三方面提供了一种终端设备,包括存储器以及处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如下步骤:

接收移动设备的设备标识、接口参数以及服务器发送给所述移动设备的接口验证短信;

从所述接口验证短信中提取接口验证码;

根据所述设备标识确定加密算法,并通过所述加密算法对所述接口参数进行加密,生成接口加密字段;

计算所述接口验证码的摘要,作为验证码摘要;

根据所述设备标识确定签名密钥,并通过所述签名密钥对所述验证码摘要进行签名运算,生成验证码签名字段;

将所述设备标识、所述接口加密字段以及所述验证码签名字段组装成接口调用请求,并将所述接口调用请求发送至服务器。

本发明实施例的第四方面提供了一种服务器,包括存储器以及处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如下步骤:

接收终端发送的接口调用请求;

从所述接口调用请求中解析出移动设备的设备标识、接口加密字段以及验证码签名字段;

根据所述设备标识确定签名密钥,并通过所述签名密钥对所述验证码签名字段进行解码运算,得到验证码摘要;

根据所述验证码摘要还原出接口验证码;

若所述接口验证码与服务器发送给所述移动设备的接口验证码相同,则根据所述设备标识确定解密算法,并通过所述解密算法对所述接口加密字段进行解密计算,生成接口参数;

若所述服务器中存在与所述接口参数一致的参数,则根据所述接口参数对应的接口逻辑对所述终端发送的待处理数据进行处理。

本发明实施例的第五方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如下步骤:

接收移动设备的设备标识、接口参数以及服务器发送给所述移动设备的接口验证短信;

从所述接口验证短信中提取接口验证码;

根据所述设备标识确定加密算法,并通过所述加密算法对所述接口参数进行加密,生成接口加密字段;

计算所述接口验证码的摘要,作为验证码摘要;

根据所述设备标识确定签名密钥,并通过所述签名密钥对所述验证码摘要进行签名运算,生成验证码签名字段;

将所述设备标识、所述接口加密字段以及所述验证码签名字段组装成接口调用请求,并将所述接口调用请求发送至服务器。

本发明实施例的第六方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如下步骤:

接收终端发送的接口调用请求;

从所述接口调用请求中解析出移动设备的设备标识、接口加密字段以及验证码签名字段;

根据所述设备标识确定签名密钥,并通过所述签名密钥对所述验证码签名字段进行解码运算,得到验证码摘要;

根据所述验证码摘要还原出接口验证码;

若所述接口验证码与服务器发送给所述移动设备的接口验证码相同,则根据所述设备标识确定解密算法,并通过所述解密算法对所述接口加密字段进行解密计算,生成接口参数;

若所述服务器中存在与所述接口参数一致的参数,则根据所述接口参数对应的接口逻辑对所述终端发送的待处理数据进行处理。

在本发明实施例中,通过接收移动设备的设备标识、接口参数以及接口验证短信,从接口验证短信中提取接口验证码,并基于设备标识对应的算法,分别对接口验证码的摘要进行签名运算,以及对接口参数进行加密,得到接口加密字段和验证码签名字段,并将设备标识、接口加密字段以及验证码签名字段组装成接口调用请求,并将接口调用请求发送给服务器,以提高接口调用时的自动化水平以及安全性。

附图说明

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

图1是本发明实施例提供的接口调用方法的实现流程图;

图2是本发明实施例提供的接口调用方法S102的具体实现流程图;

图3是本发明实施例提供的验证码附加提取流程图;

图4是本发明实施例提供的接口调用的响应方法的实现流程图;

图5是本发明实施例提供的接口调用装置的结构框图;

图6是本发明实施例提供的接口调用的响应装置的结构框图;

图7是本发明实施例提供的终端设备的示意图;

图8是本发明实施例提供的服务器的示意图

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。

为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。

图1示出了本发明实施例提供的接口调用方法的实现流程,该方法流程包括步骤S101至S106。各步骤的具体实现原理如下。

S101:接收移动设备的设备标识、接口参数以及服务器发送给所述移动设备的接口验证短信。

本发明实施例中,存在终端设备、移动设备以及服务器,其中终端设备用于调用服务器的接口以实现用户需要调用的功能,移动设备用于接收服务器发送的接口验证短信,服务器用于响应终端设备的接口调用请求,为终端设备提供相应的服务。

示例性地,在我们日常生活中,有时希望通过计算机使用网页的某种功能时,网页经常会向我们的手机发送一个包含验证码的短信,当我们通过计算机输入短信中的验证码后,计算机就可以使用网页的某种功能了。在这个示例中,计算机就作为本发明实施例中的终端设备,手机作为移动设备,而网页的服务器作为本发明实施例中的服务器。

可以理解地,本发明实施例的执行主体并不一定是与移动设备不同的终端设备,移动设备和终端设备也可以是同一个设备。例如,手机既可以作为接收包含验证码的短信的移动设备,也可以作为调用服务器的接口的终端设备。

可选地,在本发明实施例中,移动设备的设备标识可以是移动设备的物理地址、CPU识别码或者手机的型号,所以移动设备的设备标识既可以是唯一确定的标识,也可以是可能与其他移动设备相同的只是用于区分种类的标识。

具体地,接口参数为用户输入的,用于向服务器指明需要调用何种接口的参数,可以理解地,服务器在接收到接口参数后可以根据接口参数为终端设备提供相应的服务。

具体地,如上文所述,接口验证短信包含一个验证码,只有通过终端设备输入正确的验证码后,服务器才有可能响应终端设备的接口调用请求。可以理解地,若终端设备与移动设备为不同的设备,则移动设备需要将接口验证短信转发至终端设备中;若终端设备与移动设备为相同的设备,则终端设备可以直接分析接口验证短信。

S102,从所述接口验证短信中提取接口验证码。

在本发明实施例中,在终端设备接口道接口验证短信后需要自动提取接口验证短信中的接口验证码。

作为本发明的一个实施例,如图2所示,上述S102包括:

S1021:根据预设的关键词数据库,识别所述接口验证短信中包含的关键词以及所述关键词对应的关键度,所述关键词数据库包括关键词与关键度的对应关系。

可以理解地,我们日常生活中接收到的接口验证短信中都会包括一个或多个关键词,根据这些关键词就可以锁定验证码所在的位置,从而提取出验证码。

示例性地,一个接口验证短信为:“【软件A】581458(软件A手机验证码,请完成验证),如非本人操作,请忽略本短信”。另一个接口验证短信为:“【软件B】934047(设备锁验证码),用于QQ号12345678登录的设备验证,请勿转发。如不想接收此类短信,请回复T”,在这两条接口验证短信中,“验证码”、“验证”等词就可以作为关键词。

可以理解地,并不是所有的接口验证短信都有类似“验证码”这么明显的关键词,例如一个接口验证短信为:“【软件C】您正在请求调用X功能,请凭29834918进行调用”,这个接口验证短信中就没有“验证码”或“验证”作为关键词。

如上文示例所述,为了应对各种不同的接口验证短信中关键词的多样性,本发明实施例通过海量的接口验证短信,总结出一个关键词数据库,该关键词数据库中包含了多个关键词。此外,由于考虑到一个接口验证短信中可能包含多个关键词,而在接口验证短信中不同的关键词的周边出现验证码的概率是不同的,因此为每个关键词赋予一个关键度,所以该关键词数据库还包括了关键词与关键度的对应关系。可以理解地,一个关键词的关键度越高,代表该关键词的周边出现验证码的概率越大。

具体地,基于关键词数据库,通过文本识别算法可以识别出接口验证短信中包含的关键词。

S1022:判断所述接口验证短信中包含关键词的个数。

如上文所述,一个接口验证短信中可能包括一个或多个关键词,在本发明实施例中,由于处理只含有一个关键词的接口验证短信的方法与处理含有多个关键词的接口验证短信的方法不同,所以需要首先判断根据上述文本识别算法识别出的关键词的个数。

S1023:若所述接口验证短信中只包含一个所述关键词,则将所述关键词之前的预设隔断标志与所述关键词之后的所述预设隔断标志之间存在的数字作为所述接口验证码。

在本发明实施例中,为了识别出接口验证短信中的验证码,除了识别关键词以外还需要识别预设隔断标志。可选地,可以将部分标点符号作为预设隔断标志。

示例性地,如上文示例所述:一个接口验证短信为:“【软件A】581458(软件A手机验证码,请完成验证),如非本人操作,请忽略本短信”。可以将标点符号“】”以及标点符号“,”作为两个预设隔断标志。

可以理解地,由于在接口验证短信中,验证码会出现在关键词的上下文中,且相隔的字符比较少,所以可以通过识别预设隔断标志的方式,确定验证码所在区间。进一步地,将所述关键词之前的预设隔断标志与所述关键词之后的所述预设隔断标志之间存在的数字作为所述接口验证码。

可以理解地,本发明实施例之所以不直接检测借口验证短信中的数字,是因为借口验证短信中经常存在多个数字,例如:验证码、时间、手机号、qq号或者其他登录账号等,所以需要确定验证码可能存在的区间,之后再进行数字提取。

值得注意地,在本发明实施例中,并不是直接将所有的标点符号作为预设隔断标志,而是根据海量的接口验证码短信确定出预设隔断标志。

示例性地,若词语“验证码”为关键词,标点符号“】”以及标点符号“,”为预设隔断标志,仍以上文示例为例:一个接口验证短信为:“【软件A】581458(软件A手机验证码,请完成验证),如非本人操作,请忽略本短信”。关键词之前的预设隔断标志为“】”,关键词之后的预设隔断标志为“,”,所以通过两个预设隔断标志可以从接口验证短信中截取出“】581458(软件A手机验证码,请完成验证),”,通过识别该部分中的数字,得到“581458”作为接口验证短信中的验证码。

可选地,设定预设隔断标志的方法包括:从多个接口验证短信中,筛选出出现频率大于或等于第一频率阈值的标点符号,得到第一符号组;计算各个所述第一符号组里的标点符号出现在验证码与关键词之间的频率,作为各个标点符号的第二频率;将所述第一符号组中第二频率大于第二频率阈值的标点符号删除,得到第二符号组;将所述第二符号组内的标点符号作为预设隔断标志。

可以理解地,预设隔断标志应为在接口验证码短信中出现频率较高,但是出现在验证码与关键词之间的频率较低的标点符号,也就是说预设隔断标志不应该将验证码与关键词隔开,而应该将验证码与关键词共同所在的部分与其他部分隔开。

S1024:若所述接口验证短信中包含多个所述关键词,则确定特殊关键词,所述特殊关键词为在所述接口验证短信中包含的多个关键词中位置最靠前的一个关键度最高的关键词,并将所述特殊关键词之前的所述预设隔断标志与所述特殊关键词之后的所述预设隔断标志之间存在的数字作为所述接口验证码。

具体地,若一个接口验证码可能存在多个关键词,则从这些关键词中选择关键度最高的关键词作为特殊关键词。如果存在多个关键词的关键度并列最高,则在这些关键度并列最高的关键词中选择在接口验证短信中位置最靠前的一个,作为特殊关键词。

在本发明实施例中,通过对关键词以及预设隔断标志的提取,划分出验证码在接口验证短信中的区间,提取该区间的数字作为验证码,实现了对接口验证短信的自动化分析,在无人工干预的情况下提取验证码,提高整个接口调用过程的自动化程度。

由于如果一个接口验证短信中存在多个关键词时,可能存在特殊关键词定位不准的情况,所以可能出现验证码提取不正确的情况发生。另一方面,一些短信可能并没有明确的关键词,或者验证码与关键词在接口验证短信中的位置关系比较特殊,则也可能导致验证码提取错误。可以理解地,如果验证码提取错误,则在将接口调用请求发送给服务器后,会接收到服务器反馈的验证码不匹配响应,为了更好地应对上述情况,图3示出了本发明实施例提供的验证码附加提取流程,各步骤的具体实现原理如下。

S301,若接收到服务器反馈的验证码不匹配响应,则根据预设的关键词数据库,判断所述接口验证短信中是否存在遗留关键词。

所述遗留关键词为未被用于提取所述接口验证码的关键词,所述关键词数据库包括关键词与关键度的对应关系。

本发明实施例用于应对接收到服务器反馈的验证码不匹配响应后的处理过程,其中具体地根据关键词数据库提取接口验证短信中的关键词的方法已在其他发明实施例中进行了介绍,在此不进行赘述。

可以理解地,既然接到了服务器反馈的验证码不匹配响应,则证明之前已经通过一个关键词提取过接口验证码,所以在本发明实施例中需要判断接口验证短信中是否还有未被用于提取接口验证码的关键词即遗留关键词。可以理解地,判断结果分为3种情况,分别为:1,存在一个遗留关键词;2,存在多个遗留关键词;3,不存在遗留关键词。在本发明实施例中,针对上述3种情况存在3种不同的处理方法。

S302,若所述接口验证短信中存在一个所述遗留关键词,则将所述遗留关键词之前的预设隔断标志与所述遗留关键词之后的所述预设隔断标志之间存在的数字作为所述接口验证码。

可以理解地,如果只存在一个遗留关键词,则通过上文实施例中介绍的根据关键词和预设隔断标志提取接口验证码的方法,在本步骤中通过遗留关键词和预设隔断标志提取接口验证码。

S303,若所述接口验证短信中包含多个所述遗留关键词,则确定特殊关键词,所述特殊关键词为在所述接口验证短信中包含的多个所述遗留关键词中位置最靠前的一个关键度最高的所述遗留关键词,并将所述特殊关键词之前的所述预设隔断标志与所述特殊关键词之后的所述预设隔断标志之间存在的数字作为所述接口验证码。

可以理解地,如果存在多个遗留关键词,则再次从这些遗留关键词中选取一个特殊关键词,并再次基于这个特殊关键词和预设隔断标志提取接口验证码。

S304,若所述接口验证短信中不存在所述遗留关键词,则通知用户查看所述验证短信或通知服务器重新发送新的验证短信。

在本发明实施例中,如果接口验证短信中已不存在遗留关键词,则证明上文实施例介绍的从接口验证短信中提取验证码的方法不适用于当前接口验证短信。

可选地,由于可能出现的是意外情况,所以在这种情况下可以通知服务器向移动设备重新发送一个接口验证短信,从而基于新的接口验证短信重新分析并提取验证码。

可选地,由于上文实施例介绍的方法可能的确不适用于当前接口验证码短信的词组排列规则,所以无法自动识别验证码,因此需要通知用户查看移动设备接收的验证码,并手动输入验证码以调取接口。

可选地,虽然上文实施例介绍的方法可能不适用于当前接口验证码短信的词组排列规则,但是可以自动切换其他自动识别接口验证码短信中验证码的方法。例如,不通过关键词,而是直接识别出短信中的数字作为验证码。

在本发明实施例中,通过判断接口验证短信中是否存在遗留关键词,分别对3种情况进行不同的处理方法,提高了应对不同接口验证短信的能力。

S103,根据所述设备标识确定加密算法,并通过所述加密算法对所述接口参数进行加密,生成接口加密字段。

在本发明实施例中,为了保证在接口调用过程中,他人无法盗用接口参数,需要对接口参数进行加密。

值得注意地,在本发明实施例中,不同的移动设备的设备标识可以对应着不同加密算法,使得他人无法知道用何种算法对接口参数进行的加密,因而无法根据已知的相应的算法对接口加密字段进行解密。

S104,计算所述接口验证码的摘要,作为验证码摘要。

在本发明实施例中,如果验证码在接口调用的过程中被他人盗用,则他人可能可以基于该验证码调用相关的接口,从而使验证码失去了原本存在的意义,为了保证验证码在接口调用的传输过程中的安全性,本发明实施例通过签名算法对验证码进行加密。为了通过签名算法对验证码进行加密,需要首先计算出验证码的摘要。

可选地,可以通过现有的MD5算法计算验证码的摘要。

S105,根据所述设备标识确定签名密钥,并通过所述签名密钥对所述验证码摘要进行签名运算,生成验证码签名字段。

在本发明实施例中,不同的移动设备标识对应着不同的签名密钥,以防止他人在截获签名密钥后对验证码签名字段进行解码,得到验证码。

具体地,本发明实施例中,一个签名密钥包括两个参数,假设根据预设的设备标识与签名密钥映射表,一个设备标识对应的签名密钥包括的参数分别为d以及n。则通过公式:S=(h(m)^d)mod n计算出所述验证码签名字段,其中S为所述验证码签名字段、h(m)为验证码摘要、符号^为幂计算符以及符号mod为取余数计算符。

在本发明实施例中,通过不同的算法分别对接口参数以及验证码进行加密,而且选用的算法与设备标识相关,不同的设备标识可能对应不同的算法,极大地提升了接口调用过程中一些重要数据的数据安全度。

S106,将所述设备标识、所述接口加密字段以及所述验证码签名字段组装成接口调用请求,并将所述接口调用请求发送至服务器。

在本发明实施例中,通过接收移动设备的设备标识、接口参数以及接口验证短信,从接口验证短信中提取接口验证码,并基于设备标识对应的算法,分别对接口验证码的摘要进行签名运算,以及对接口参数进行加密,得到接口加密字段和验证码签名字段,并将设备标识、接口加密字段以及验证码签名字段组装成接口调用请求,并将接口调用请求发送给服务器,以提高接口调用时的自动化水平以及安全性。

图4示出了本发明实施例提供的接口调用的响应方法的实现流程,该方法流程包括步骤S401至S407。各步骤的具体实现原理如下。

S401,接收终端设备发送的接口调用请求。

在本发明实施例中,存在终端设备、移动设备以及服务器,其中终端设备用于调用服务器的接口以实现用户需要调用的功能,移动设备用于接收服务器发送的接口验证短信,服务器用于响应终端设备的接口调用请求,为终端设备提供相应的服务。

在本发明实施例中,接口调用请求是由终端设备发送的,服务器需要验证接口调用请求中的相关数据,判断是否使用相关接口逻辑为终端设备处理数据。

S402,从所述接口调用请求中解析出移动设备的设备标识、接口加密字段以及验证码签名字段。

由于在终端设备一侧,终端设备将设备标识、接口加密字段以及验证码签名字段组装成接口调用请求,所以在服务器侧需要从接口调用请求中分离出这3类数据。

S403,根据所述设备标识确定签名密钥,并通过所述签名密钥对所述验证码签名字段进行解码运算,得到验证码摘要。

示例性地,假设在终端设备侧,一个设备标识对应的签名密钥包括的参数分别为d以及n。而且是通过公式:S=(h(m)^d)mod n计算出所述验证码签名字段,其中S为所述验证码签名字段、h(m)为验证码摘要、符号^为幂计算符以及符号mod为取余数计算符。

则在服务器侧,同样通过设备标识确定签名密钥,并通过签名计算的逆过程计算出验证码摘要字段,例如在本示例中,通过公式S=(h(m)^d)mod n的逆过程,在已知验证码签名字段S、签名密钥的参数d以及n的前提下,计算出验证码签名字段S。

S404,根据所述验证码摘要还原出接口验证码。

可以理解地,根据终端设备侧的摘要算法的逆过程,可以将验证码摘要还原成接口验证码,

值得注意地,计算验证码的验证码摘要的算法或者从验证码摘要还原验证码的算法并不需要根据不同的移动设备或者终端设备进行区分。由于在上文所述的发明实施例中可以统一使用MD5算法或其他计算摘要的算法计算各个移动设备接收的验证码,所以在本发明实施例中,同样也可以统一使用MD5算法或其他计算摘要的算法将验证码摘要还原。

S405,判断从所述验证码摘要中还原出的接口验证码与服务器发送给所述移动设备的接口验证码是否相同。

在本发明实施例中,服务器存储有预设单位时间段内发送给各个移动设备的验证码,通过移动设备的设备标识,服务器可以查找到发送给该移动设备的接口验证码,从而可以判断从端口调用请求中解析出的接口验证码与服务器发送给所述移动设备的接口验证码相同。

S406,若从所述验证码摘要中还原出的接口验证码与服务器发送给所述移动设备的接口验证码不相同,则向所述移动设备发出验证码不匹配通知。

在本发明实施例中,服务器向移动设备发出验证码不匹配通知,有利于提示用户以再次请求验证码,或提醒用户其相关数据可能正被他人盗用。

S407,若从所述验证码摘要中还原出的接口验证码与服务器发送给所述移动设备的接口验证码相同,则根据所述设备标识确定解密算法,并通过所述解密算法对所述接口加密字段进行解密计算,生成接口参数。

可以理解地,由于在终端设备侧,根据设备标识确定的加密算法对接口参数进行了加密,所以在本发明实施例中,服务器同样根据设备标识可以确定出相应的解密算法,并通过解密算法对所述接口加密字段进行解密计算,生成接口参数。

S408,若所述服务器中存在与所述接口参数一致的参数,则根据所述接口参数对应的接口逻辑对所述终端发送的待处理数据进行处理。

可以理解地,用户在终端设备中输入接口参数的目的是调用服务器的相关接口,所以在本发明实施例中,服务器需要判断本服务器是否存在一个接口的接口参数与终端设备发送的接口调用请求中的接口参数一致,如果一致,则根据所述接口参数对应的接口逻辑对所述终端发送的待处理数据进行处理。

在本发明实施例中,通过接收终端设备发送的接口调用请求;从接口调用请求中解析出移动设备的设备标识、接口加密字段以及验证码签名字段;根据设备标识确定签名密钥,并通过签名密钥对验证码签名字段进行解码运算,得到验证码摘要;根据验证码摘要还原出接口验证码;若接口验证码与服务器发送给移动设备的接口验证码相同,则根据设备标识确定解密算法,并通过解密算法对接口加密字段进行解密计算,生成接口参数;若服务器中存在与接口参数一致的参数,则根据接口参数对应的接口逻辑对终端发送的待处理数据进行处理,以自动验证终端设备发送的接口调用请求,提升整个系统的自动化程度。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

对应于上文实施例所述的接口调用方法,图5示出了本发明实施例提供的接口调用装置的结构框图,为了便于说明,仅示出了与本发明实施例相关的部分。

参照图5,该装置包括:

接收单元51,用于接收移动设备的设备标识、接口参数以及服务器发送给所述移动设备的接口验证短信;

提取单元52,用于提取从所述接口验证短信中提取接口验证码;

生成单元53,用于根据所述设备标识确定加密算法,并通过所述加密算法对所述接口参数进行加密,生成接口加密字段;

计算单元54,用于计算所述接口验证码的摘要,作为验证码摘要;

签名单元55,用于根据所述设备标识确定签名密钥,并通过所述签名密钥对所述验证码摘要进行签名运算,生成验证码签名字段;

组装单元56,用于将所述设备标识、所述接口加密字段以及所述验证码签名字段组装成接口调用请求,并将所述接口调用请求发送至服务器。

可选地,所述签名单元55包括:

参数确定子单元,用于根据预设的设备标识与签名密钥的对应关系,确定所述签名密钥,所述签名密钥包括参数d以及参数n;

摘要计算子单元,用于通过公式S=(h(m)^d)mod n计算出所述验证码签名字段,其中S为所述验证码签名字段、h(m)为验证码摘要、符号^为幂计算符以及符号mod为取余数计算符。

本发明实施例中,在本发明实施例中,通过接收移动设备的设备标识、接口参数以及接口验证短信,从接口验证短信中提取接口验证码,并基于设备标识对应的算法,分别对接口验证码的摘要进行签名运算,以及对接口参数进行加密,得到接口加密字段和验证码签名字段,并将设备标识、接口加密字段以及验证码签名字段组装成接口调用请求,并将接口调用请求发送给服务器,以提高接口调用时的自动化水平以及安全性。

对应于上文实施例所述的接口调用的响应方法,图6示出了本发明实施例提供的接口调用的响应装置的结构框图,为了便于说明,仅示出了与本发明实施例相关的部分。

接收单元61,用于接收终端设备发送的接口调用请求。

解析单元62,用于从所述接口调用请求中解析出移动设备的设备标识、接口加密字段以及验证码签名字段。

解码单元63,用于根据所述设备标识确定签名密钥,并通过所述签名密钥对所述验证码签名字段进行解码运算,得到验证码摘要。

还原单元64,用于根据所述验证码摘要还原出接口验证码。

判断单元65,用于判断从所述验证码摘要中还原出的接口验证码与服务器发送给所述移动设备的接口验证码是否相同。

第一执行单元66,用于若从所述验证码摘要中还原出的接口验证码与服务器发送给所述移动设备的接口验证码相同,则根据所述设备标识确定解密算法,并通过所述解密算法对所述接口加密字段进行解密计算,生成接口参数。

第二执行单元67,用于若所述服务器中存在与所述接口参数一致的参数,则根据所述接口参数对应的接口逻辑对所述终端发送的待处理数据进行处理。

在本发明实施例中,通过接收终端设备发送的接口调用请求;从接口调用请求中解析出移动设备的设备标识、接口加密字段以及验证码签名字段;根据设备标识确定签名密钥,并通过签名密钥对验证码签名字段进行解码运算,得到验证码摘要;根据验证码摘要还原出接口验证码;若接口验证码与服务器发送给移动设备的接口验证码相同,则根据设备标识确定解密算法,并通过解密算法对接口加密字段进行解密计算,生成接口参数;若服务器中存在与接口参数一致的参数,则根据接口参数对应的接口逻辑对终端发送的待处理数据进行处理,以自动验证终端设备发送的接口调用请求,提升整个系统的自动化程度。

图7是本发明一实施例提供的终端设备的示意图。如图7所示,该实施例的终端设备7包括:处理器70、存储器71以及存储在所述存储器71中并可在所述处理器70上运行的计算机程序72,例如接口调用程序。所述处理器70执行所述计算机程序72时实现上述各个接口调用方法实施例中的步骤,例如图1所示的步骤101至106。或者,所述处理器70执行所述计算机程序72时实现上述各装置实施例中各模块/单元的功能,例如图5所示单元51至56的功能。

示例性的,所述计算机程序72可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器71中,并由所述处理器70执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序72在所述终端设备7中的执行过程。

所述终端设备7可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端设备可包括,但不仅限于,处理器70、存储器71。本领域技术人员可以理解,图7仅仅是终端设备7的示例,并不构成对终端设备7的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端设备还可以包括输入输出设备、网络接入设备、总线等。

所称处理器70可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述存储器71可以是所述终端设备7的内部存储单元,例如终端设备7的硬盘或内存。所述存储器71也可以是所述终端设备7的外部存储设备,例如所述终端设备7上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器71还可以既包括所述终端设备7的内部存储单元也包括外部存储设备。所述存储器71用于存储所述计算机程序以及所述终端设备所需的其他程序和数据。所述存储器71还可以用于暂时地存储已经输出或者将要输出的数据。

图8是本发明一实施例提供的服务器的示意图。如图8所示,该实施例的服务器8包括:处理器80、存储器81以及存储在所述存储器81中并可在所述处理器80上运行的计算机程序82,例如接口调用的响应程序。所述处理器80执行所述计算机程序82时实现上述各个接口调用的响应方法实施例中的步骤,例如图1所示的步骤401至407。或者,所述处理器80执行所述计算机程序82时实现上述各装置实施例中各模块/单元的功能,例如图6所示单元66至67的功能。

示例性的,所述计算机程序82可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器81中,并由所述处理器80执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序82在所述服务器8中的执行过程。

所述服务器8可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述服务器可包括,但不仅限于,处理器80、存储器81。本领域技术人员可以理解,图8仅仅是服务器8的示例,并不构成对服务器8的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述服务器还可以包括输入输出设备、网络接入设备、总线等。

所称处理器80可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述存储器81可以是所述服务器8的内部存储单元,例如服务器8的硬盘或内存。所述存储器81也可以是所述服务器8的外部存储设备,例如所述服务器8上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器81还可以既包括所述服务器8的内部存储单元也包括外部存储设备。所述存储器81用于存储所述计算机程序以及所述服务器所需的其他程序和数据。所述存储器81还可以用于暂时地存储已经输出或者将要输出的数据。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。

以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号