一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

接口密钥重置方法、装置、存储介质及服务器与流程

2021-11-15 14:32:00 来源:中国专利 TAG:

1.本技术实施例涉及计算机技术领域,特别涉及一种接口密钥重置方法、装置、存储介质及服务器。


背景技术:

2.客户端在调用服务器中的接口之前,需要先向服务器申请接口的调用权限,服务器生成该接口的接口密钥发送给客户端,客户端在后续发送的调用请求中需要携带该接口密钥,以便服务器验证接口调用的合法性。
3.通常,服务器可以对每个用户的客户端生成不同的接口密钥,当用户的接口密钥被泄露时,用户可以向管理员申请重置接口密钥,管理员可以在后台手动控制服务器生成新的接口密钥,并将新的接口密钥提供给用户。
4.由于接口密钥需要管理员手动重置,导致接口密钥的重置效率较低。


技术实现要素:

5.本技术实施例提供了一种接口密钥重置方法、装置、存储介质及服务器,用于解决管理员手动重置接口密钥,导致接口密钥的重置效率较低的问题。所述技术方案如下:一方面,提供了一种接口密钥重置方法,所述方法包括:接收客户端发送的重置请求,所述重置请求用于请求重置目标接口的接口密钥,且所述重置请求中携带有用户标识和所述目标接口的接口序列;根据所述用户标识生成第一随机数;对所述用户标识、所述接口序列和所述第一随机数进行加密,得到新的接口密钥;将所述目标接口的接口密钥重置为所述新的接口密钥。
6.在一种可能的实现方式中,所述根据所述用户标识生成第一随机数,包括:根据所述用户标识查找用户预先注册的电话号码;生成验证信息,并向所述电话号码所标识的终端发送所述验证信息;接收所述客户端发送的待验证信息,所述待验证信息是基于所述终端接收到的所述验证信息输入所述客户端的;若所述待验证信息与所述验证信息相同,则将所述验证信息确定为所述第一随机数。
7.在一种可能的实现方式中,在所述接收客户端发送的重置请求之前,所述方法还包括:获取代码仓库;检测所述代码仓库中是否包含所述接口密钥;若所述代码仓库中包含所述接口密钥,则向所述客户端发送报警信息,所述报警信息用于指示所述目标接口的接口密钥被泄露。
8.在一种可能的实现方式中,在所述接收客户端发送的重置请求之前,所述方法还
包括:检测当前时间是否达到重置周期;若所述当前时间达到所述重置周期,则向所述客户端发送提示信息,所述提示信息用于提示重置所述目标接口的接口密钥。
9.在一种可能的实现方式中,在所述接收客户端发送的重置请求之前,所述方法还包括:接收所述客户端发送的密钥生成请求,所述密钥生成请求用于请求生成所述目标接口的接口密钥,且所述密钥生成请求中携带有所述用户标识和所述接口序列;随机生成第二随机数;对所述用户标识、所述接口序列和所述第二随机数进行加密,得到所述接口密钥;将所述接口密钥对应于所述用户标识进行存储,并将所述接口密钥发送给所述客户端。
10.在一种可能的实现方式中,在所述根据所述用户标识生成第一随机数之后,所述方法还包括:若所述用户标识还对应于其他接口的接口密钥,则向所述客户端发送询问信息,所述询问信息用于询问是否重置所述其他接口的接口密钥;接收所述客户端发送的确认重置信息,所述确认重置信息用于指示对所述其他接口的接口密钥进行重置;对所述用户标识、所述其他接口的接口序列和所述第一随机数进行加密,得到所述其他接口的新的接口密钥;将所述其他接口的接口密钥重置为所述其他接口的新的接口密钥。
11.在一种可能的实现方式中,在所述接收所述客户端发送的确认重置信息之后,所述方法还包括:当所述其他接口为至少两个时,向所述客户端发送所述至少两个其他接口的接口信息,所述接口信息用于供用户选择待重置的其他接口;接收所述客户端发送的接口选择信息,所述接口选择信息用于指示所述待重置的其他接口。
12.在一种可能的实现方式中,当所述重置请求中携带有至少两个目标接口的接口序列时,所述对所述用户标识、所述接口序列和所述第一随机数进行加密,得到新的接口密钥,包括:对于每个目标接口,对所述用户标识、所述目标接口的接口序列和所述第一随机数进行加密,得到所述目标接口的新的接口密钥;所述将所述目标接口的接口密钥重置为所述新的接口密钥,包括:对于每个目标接口,将所述目标接口的接口密钥重置为所述目标接口的新的接口密钥。
13.一方面,提供了一种接口密钥重置装置,所述装置包括:接收模块,用于接收客户端发送的重置请求,所述重置请求用于请求重置目标接口的接口密钥,且所述重置请求中携带有用户标识和所述目标接口的接口序列;生成模块,用于根据所述用户标识生成第一随机数;所述生成模块,还用于对所述用户标识、所述接口序列和所述第一随机数进行加
密,得到新的接口密钥;重置模块,用于将所述目标接口的接口密钥重置为所述新的接口密钥。
14.一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现如上所述的接口密钥重置方法。
15.一方面,提供了一种服务器,所述服务器包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如上所述的接口密钥重置方法。
16.本技术实施例提供的技术方案的有益效果至少包括:通过接收客户端发送的重置请求,根据重置请求中的用户标识生成第一随机数,对用户标识、重置请求中的接口序列和第一随机数进行加密,得到新的接口密钥,将目标接口的接口密钥重置为新的接口密钥,这样,可以通过服务器对接口密钥进行重置,提高了重置效率。另外,新的接口密钥是根据用户标识、接口序列和第一随机数生成的,可以提高接口密钥的安全性。
17.第一随机数是发送给用户持有的终端的验证码,这样,可以通过验证码来验证是否是用户在重置接口密钥,避免接口密钥被他人重置,从而可以提高重置的安全性。
18.通过检测代码仓库中是否包含接口密钥,可以在代码仓库中包含接口密钥时,向客户端发送报警信息,从而可以在接口密钥被泄露后提示用户重置接口密钥,提高了接口密钥的安全性。
19.若当前时间达到重置周期,则向客户端发送提示信息,从而可以提示用户定期重置接口密钥,提高了接口密钥的安全性。
20.通过批量重置接口密钥,可以简化多个接口密钥的重置操作,从而提高了重置效率。
附图说明
21.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
22.图1是本技术一个实施例提供的客户端首次申请调用目标接口的流程示意图;图2是本技术一个实施例提供的接口密钥重置方法的方法流程图;图3是本技术另一实施例提供的接口密钥重置方法的方法流程图;图4是本技术再一实施例提供的接口密钥重置装置的结构框图。
具体实施方式
23.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
24.当客户端在服务器上成功注册之后,可以调用服务器中的各个接口。在调用接口之前,客户端需要向服务器申请接口的调用权限,此时,服务器会给客户端分配一个接口密钥(apikey)和调用次数。后续,客户端需要在发给服务器的接口调用请求中携带接口密钥,
服务器在确定该接口密钥准确后将接口的调用次数减1,从而通过调用次数来限制接口的使用。下面对客户端首次申请调用目标接口的流程进行说明,请参考图1。
25.步骤101,接收客户端发送的密钥生成请求,密钥生成请求用于请求生成目标接口的接口密钥,且密钥生成请求中携带有用户标识和接口序列。
26.用户标识是在服务器中注册时为用户分配的,可以唯一地标识一个用户。其中,用户标识可以是用户名的全部或部分,也可以是用户id。
27.接口序列是在服务器中创建接口时为接口分配的,可以唯一地标识一个接口。
28.步骤102,随机生成第二随机数。
29.服务器可以根据随机算法生成一个随机数,为了与下文中的随机数相区分,本实施例中将该随机数称为第二随机数。
30.步骤103,对用户标识、接口序列和第二随机数进行加密,得到接口密钥。
31.服务器可以将用户标识、接口序列和第二随机数这三种字段进行组合,并利用加密算法对组合得到的字符串进行加密,将得到的密文确定为接口密钥。
32.不同的组合方式也会提高接口密钥的安全性,下面对组合方式进行说明。第一种是将用户标识、接口序列和第二随机数的全部内容按照一定顺序进行排列组合。比如,按照用户标识、接口序列和第二随机数的顺序进行组合,或者,按照用户标识、第二随机数和接口序列的顺序进行组合。第二种是从每个字段中提取部分内容,对这些内容按照一定顺序进行排列组合。比如,分别从用户标识、接口序列和第二随机数中提取前16个字符,对得到的48个字符进行排列组合。第三种是先对部分字段进行加密,将加密后的字段和剩余字段进行排列组合。比如,先对用户标识进行加密,将加密后的用户标识和接口序列、第二随机数进行排列组合。当然,服务器还可以采用其他组合方式,本实施例不作限定。
33.步骤104,将接口密钥对应于用户标识进行存储,并将接口密钥发送给客户端。
34.服务器可以将接口密钥和用户标识进行对应存储,并将该接口密钥发送给客户端,以便客户端在后续的接口调用中使用接口密钥。
35.若接口密钥被泄露,则其他用户可以冒充该用户来调用目标接口,从而浪费了目标接口的调用次数,所以,服务器还可以对接口密钥进行重置,下面对服务器重置接口密钥的流程进行说明。
36.请参考图2,其示出了本技术一个实施例提供的接口密钥重置方法的方法流程图,该接口密钥重置方法可以应用于服务器中。该接口密钥重置方法,可以包括:步骤201,接收客户端发送的重置请求,重置请求用于请求重置目标接口的接口密钥,且重置请求中携带有用户标识和目标接口的接口序列。
37.用户可以先在服务器中登录用户名和密码,在成功登录后,触发客户端向服务器发送重置请求。
38.步骤202,根据用户标识生成第一随机数。
39.服务器可以随机生成一个随机数,或者,服务器也可以根据用户标识生成一个随机数。为了与上文中的随机数相区分,本实施例中将该随机数称为第一随机数。
40.步骤203,对用户标识、接口序列和第一随机数进行加密,得到新的接口密钥。
41.其中,新的接口密钥的生成流程与步骤103中所述的生成流程相同,此处不作赘述。
42.步骤204,将目标接口的接口密钥重置为新的接口密钥。
43.服务器可以在接口密钥与用户标识的对应关系中,将接口密钥替换为新的接口密钥,并将新的接口密钥发送给客户端。
44.综上所述,本技术实施例提供的接口密钥重置方法,通过接收客户端发送的重置请求,根据重置请求中的用户标识生成第一随机数,对用户标识、重置请求中的接口序列和第一随机数进行加密,得到新的接口密钥,将目标接口的接口密钥重置为新的接口密钥,这样,可以通过服务器对接口密钥进行重置,提高了重置效率。另外,新的接口密钥是根据用户标识、接口序列和第一随机数生成的,可以提高接口密钥的安全性。
45.请参考图3,其示出了本技术一个实施例提供的接口密钥重置方法的方法流程图,该接口密钥重置方法可以应用于服务器中。该接口密钥重置方法,可以包括:步骤301,接收客户端发送的重置请求,重置请求用于请求重置目标接口的接口密钥,且重置请求中携带有用户标识和目标接口的接口序列。
46.本实施例中,用户可以自行触发客户端进行接口密钥的重置,或者,服务器还可以提示用户进行接口密钥的重置,下面对提示用户的两种实现方式进行说明。
47.在第一种实现方式中,服务器可以检测接口密钥是否被泄露,若接口密钥被泄露,则提示用户进行接口密钥的重置。
48.在一个应用场景中,被泄露的接口密钥可能会被其他人上传到公开的代码仓库中,那么,服务器可以获取代码仓库;检测代码仓库中是否包含接口密钥;若代码仓库中包含接口密钥,则向客户端发送报警信息,报警信息用于指示目标接口的接口密钥被泄露。当然,若代码仓库中不包含接口密钥,则无需向用户发送报警信息。
49.在第二种实现方式中,服务器可以设置重置周期,通过重置周期来周期性提示用户进行接口密钥的重置。具体的,服务器可以检测当前时间是否达到重置周期;若当前时间达到重置周期,则向客户端发送提示信息,提示信息用于提示重置目标接口的接口密钥。
50.步骤302,根据用户标识查找用户预先注册的电话号码。
51.用户在服务器中注册时会预留电话号码,服务器可以根据用户标识查找到对应的电话号码。
52.步骤303,生成验证信息,并向电话号码所标识的终端发送验证信息。
53.验证信息可以是预定位数的字符串。其中,字符串中可以只包含数字,也可以只包含字母,也可以只包含字符,还可以同时包含数字、字母和字符中的至少两种。
54.服务器可以随机生成验证信息,并向终端发送该验证信息。
55.步骤304,接收客户端发送的待验证信息,待验证信息是基于终端接收到的验证信息输入客户端的。
56.终端接收到验证信息后,用户可以将该验证信息填入到客户端中,客户端将得到的待验证信息发送给服务器。
57.步骤305,若待验证信息与验证信息相同,则将验证信息确定为第一随机数。
58.服务器可以比较待验证信息和验证信息,若待验证信息和验证信息相同,则将验证信息确定为第一随机数;若待验证信息与验证信息不同,则会向用户提示验证信息输入有误。
59.步骤306,对用户标识、接口序列和第一随机数进行加密,得到新的接口密钥。
60.其中,新的接口密钥的生成流程与步骤103中所述的生成流程相同,此处不作赘述。
61.步骤307,将目标接口的接口密钥重置为新的接口密钥。
62.服务器可以在接口密钥与用户标识的对应关系中,将接口密钥替换为新的接口密钥,并将新的接口密钥发送给客户端。
63.综上所述,本技术实施例提供的接口密钥重置方法,通过接收客户端发送的重置请求,根据重置请求中的用户标识生成第一随机数,对用户标识、重置请求中的接口序列和第一随机数进行加密,得到新的接口密钥,将目标接口的接口密钥重置为新的接口密钥,这样,可以通过服务器对接口密钥进行重置,提高了重置效率。另外,新的接口密钥是根据用户标识、接口序列和第一随机数生成的,可以提高接口密钥的安全性。
64.第一随机数是发送给用户持有的终端的验证码,这样,可以通过验证码来验证是否是用户在重置接口密钥,避免接口密钥被他人重置,从而可以提高重置的安全性。
65.通过检测代码仓库中是否包含接口密钥,可以在代码仓库中包含接口密钥时,向客户端发送报警信息,从而可以在接口密钥被泄露后提示用户重置接口密钥,提高了接口密钥的安全性。
66.若当前时间达到重置周期,则向客户端发送提示信息,从而可以提示用户定期重置接口密钥,提高了接口密钥的安全性。
67.本实施例中,服务器还可以批量重置多个接口的接口密钥,以提高重置效率。下面对两种批量重置接口密钥的实现方式进行说明。在第一种实现方式中,重置请求中携带有至少两个目标接口的接口序列,此时,步骤306可以替换为:对于每个目标接口,对用户标识、目标接口的接口序列和第一随机数进行加密,得到目标接口的新的接口密钥。步骤307可以替换为:对于每个目标接口,将目标接口的接口密钥重置为目标接口的新的接口密钥。
68.虽然每个目标接口的用户标识和第一随机数相同,但是每个目标接口的接口序列是不同的,所以,可以保证每个目标接口的接口密钥不同。
69.比如,用户标识对应于5个目标接口的接口密钥,那么,客户端发送的重置请求中可以携带有5个目标接口的接口序列,以请求服务器对这5个目标接口的接口密钥进行重置。
70.需要说明的是,服务器可以批量重置用户的全部接口密钥,也可以根据用户的选择来批量重置用户的部分接口密钥。
71.在第二种实现方式中,服务器还可以在用户请求重置一个目标接口的接口密钥时,询问用户是否重置其他接口,从而提示用户批量重置接口密钥,提高了重置效率。
72.具体的,在根据用户标识生成第一随机数之后,若用户标识还对应于其他接口的接口密钥,则向客户端发送询问信息,询问信息用于询问是否重置其他接口的接口密钥;接收客户端发送的确认重置信息,确认重置信息用于指示对其他接口的接口密钥进行重置;对用户标识、其他接口的接口序列和第一随机数进行加密,得到其他接口的新的接口密钥;将其他接口的接口密钥重置为其他接口的新的接口密钥。
73.其中,服务器向客户端发送询问信息后,客户端可以显示确认和取消的选项,若用户选择确认选项,则客户端向服务器发送确认重置信息;若用户选择取消选项,则客户端向
服务器发送取消重置信息,以指示不重置其他接口的接口密钥。
74.当其他接口为一个时,服务器可以直接重置其他接口的接口密钥;当其他接口为至少两个时,服务器可以向客户端发送至少两个其他接口的接口信息,接口信息用于供用户选择待重置的其他接口;接收客户端发送的接口选择信息,接口选择信息用于指示待重置的其他接口。即,当其他接口为至少两个时,可以由用户选择重置全部或部分的其他接口的接口密钥,以提高重置的灵活性。
75.通过批量重置接口密钥,可以简化多个接口密钥的重置操作,从而提高了重置效率。
76.请参考图4,其示出了本技术一个实施例提供的接口密钥重置装置的结构框图,该接口密钥重置装置可以应用于服务器中。该接口密钥重置装置,可以包括:接收模块410,用于接收客户端发送的重置请求,重置请求用于请求重置目标接口的接口密钥,且重置请求中携带有用户标识和目标接口的接口序列;生成模块420,用于根据用户标识生成第一随机数;生成模块420,还用于对用户标识、接口序列和第一随机数进行加密,得到新的接口密钥;重置模块430,用于将目标接口的接口密钥重置为新的接口密钥。
77.在一个可选的实施例中,生成模块420,还用于:根据用户标识查找用户预先注册的电话号码;生成验证信息,并向电话号码所标识的终端发送验证信息;接收客户端发送的待验证信息,待验证信息是基于终端接收到的验证信息输入客户端的;若待验证信息与验证信息相同,则将验证信息确定为第一随机数。
78.在一个可选的实施例中,该装置还包括:获取模块,用于在接收模块410接收客户端发送的重置请求之前,获取代码仓库;第一检测模块,用于检测代码仓库中是否包含接口密钥;第一发送模块,用于若代码仓库中包含接口密钥,则向客户端发送报警信息,报警信息用于指示目标接口的接口密钥被泄露。
79.在一个可选的实施例中,该装置还包括:第二检测模块,用于在接收模块410接收客户端发送的重置请求之前,检测当前时间是否达到重置周期;第二发送模块,用于若当前时间达到重置周期,则向客户端发送提示信息,提示信息用于提示重置目标接口的接口密钥。
80.在一个可选的实施例中,接收模块410,还用于在接收客户端发送的重置请求之前,接收客户端发送的密钥生成请求,密钥生成请求用于请求生成目标接口的接口密钥,且密钥生成请求中携带有用户标识和接口序列;生成模块420,还用于随机生成第二随机数;对用户标识、接口序列和第二随机数进行加密,得到接口密钥;重置模块430,还用于将接口密钥对应于用户标识进行存储,并将接口密钥发送给客户端。
81.在一个可选的实施例中,该装置还包括:第三发送模块,用于在生成模块420根据用户标识生成第一随机数之后,若用户标识还对应于其他接口的接口密钥,则向客户端发送询问信息,询问信息用于询问是否重置其他接口的接口密钥;接收模块410,还用于接收客户端发送的确认重置信息,确认重置信息用于指示对其他接口的接口密钥进行重置;生成模块420,还用于对用户标识、其他接口的接口序列和第一随机数进行加密,得到其他接口的新的接口密钥;重置模块430,还用于将其他接口的接口密钥重置为其他接口的新的接口密钥。
82.在一个可选的实施例中,该装置还包括:第四发送模块,用于在接收模块410接收客户端发送的确认重置信息之后,当其他接口为至少两个时,向客户端发送至少两个其他接口的接口信息,接口信息用于供用户选择待重置的其他接口;接收模块410,还用于接收客户端发送的接口选择信息,接口选择信息用于指示待重置的其他接口。
83.在一个可选的实施例中,当重置请求中携带有至少两个目标接口的接口序列时,生成模块420,还用于:对于每个目标接口,对用户标识、目标接口的接口序列和第一随机数进行加密,得到目标接口的新的接口密钥;重置模块430,还用于:对于每个目标接口,将目标接口的接口密钥重置为目标接口的新的接口密钥。
84.综上所述,本技术实施例提供的接口密钥重置装置,通过接收客户端发送的重置请求,根据重置请求中的用户标识生成第一随机数,对用户标识、重置请求中的接口序列和第一随机数进行加密,得到新的接口密钥,将目标接口的接口密钥重置为新的接口密钥,这样,可以通过服务器对接口密钥进行重置,提高了重置效率。另外,新的接口密钥是根据用户标识、接口序列和第一随机数生成的,可以提高接口密钥的安全性。
85.第一随机数是发送给用户持有的终端的验证码,这样,可以通过验证码来验证是否是用户在重置接口密钥,避免接口密钥被他人重置,从而可以提高重置的安全性。
86.通过检测代码仓库中是否包含接口密钥,可以在代码仓库中包含接口密钥时,向客户端发送报警信息,从而可以在接口密钥被泄露后提示用户重置接口密钥,提高了接口密钥的安全性。
87.若当前时间达到重置周期,则向客户端发送提示信息,从而可以提示用户定期重置接口密钥,提高了接口密钥的安全性。
88.通过批量重置接口密钥,可以简化多个接口密钥的重置操作,从而提高了重置效率。
89.本技术一个实施例提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现如上所述的接口密钥重置方法。
90.本技术一个实施例提供了一种服务器,所述服务器包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如上所述的接口密钥重置方法。
91.需要说明的是:上述实施例提供的接口密钥重置装置在进行接口密钥重置时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将接口密钥重置装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的接口密钥重置装置与接口密钥重置方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
92.本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
93.以上所述并不用以限制本技术实施例,凡在本技术实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术实施例的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献