接口调用方法、装置、存储介质及电子设备与流程



1.本发明涉及信息处理技术领域,且更具体地,涉及接口调用方法、装置、存储介质及电子设备。


背景技术:



2.随着信息化社会的发展,电子设备间的接口调用越来越频繁。目前,在进行接口调用时,作为请求端的电子设备向作为被请求端的电子设备发送接口调用请求,由被请求端对该接口调用请求做出响应。在此过程中,一般采取明文数据传输,致使接口调用请求被伪造的可能性较大,严重影响数据的安全性。


技术实现要素:



3.本发明提供了接口调用方法、装置、存储介质及电子设备,以解决现有技术中接口调用方法中数据安全性较差的技术问题。
4.根据本发明的第一方面,提供了一种接口调用方法,应用于第一电子设备包括:
5.确定接口调用请求对应的参数信息;
6.基于第一字符编码表所述参数信息,确定待加密数据;
7.基于第二字符编码表和在所述参数信息中选取出的目标信息,确定秘钥数据;
8.基于所述第二字符编码表和所述秘钥数据,对所述待加密数据进行转换,得到第一验证数据;
9.将所述接口调用请求和所述第一验证数据发送至第二电子设备,以使得所述第二电子设备基于所述接口调用请求,生成第二验证数据;并基于所述第一验证数据和所述第二验证数据,确定对所述接口调用请求的响应结果。
10.可选地,所述基于第一字符编码表和所述参数信息,确定待加密数据,包括:
11.对所述参数信息按照预设规则进行排序,确定排序后的参数信息;
12.基于所述第一字符编码表和所述排序后的参数信息,确定所述待加密数据。
13.可选地,所述参数信息包括至少一个参数名称和所述至少一个参数名称各自对应的参数值,所述预设规则包括第一预设规则和第二预设规则,所述对所述参数信息按照预设规则进行排序,确定排序后的参数信息,包括:
14.确定各个所述参数名称中处于第一目标位置的第一字符在所述第一字符编码中对应的第二字符;
15.基于各个所述参数名称中所述第一目标位置对应的第二字符和所述第一预设规则,对各个所述参数名称和各个所述参数名称各自对应的参数值进行排序,确定初次排序后的参数信息;
16.将所述初次排序后的参数信息按照所述第二预设规则进行排序,确定所述排序后的参数信息。
17.可选地,所述基于所述第一字符编码表和所述排序后的参数信息,确定所述待加
密数据,包括:
18.利用所述第一字符编码表对所述排序后的参数信息进行字符转换,确定转换后的参数信息;
19.将所述转换后的参数信息与所述接口调用请求对应的时间戳进行拼接,确定所述待加密数据。
20.可选地,所述基于所述第二字符编码表和所述秘钥数据,对所述待加密数据进行转换,得到第一验证数据,包括:
21.确定所述秘钥数据对应的秘钥数量;
22.将所述待加密数据按照所述秘钥数量进行分组,得到至少一组待加密组;
23.确定每一所述待加密组与所述秘钥数据的计算结果;
24.利用所述第二字符编码表对所述计算结果进行字符转换,得到所述第一验证数据。
25.可选地,所述基于第二字符编码表和在所述参数信息中选取出的目标信息,确定秘钥数据,包括:
26.将所述参数信息中处于第二目标位置的参数名称选取为所述目标信息;
27.基于所述第二字符编码表和所述目标信息,确定所述秘钥数据。
28.根据本发明的第二方面,提供了一种接口调用方法,应用于第二电子设备包括:
29.接收第一电子设备发送的接口调用请求和第一验证数据;所述第一验证数据是所述第一电子设备基于所述接口调用请求生成的;
30.确定所述接口调用请求对应的参数信息;
31.基于第一字符编码表和所述参数信息,确定待加密数据;
32.基于第二字符编码表和在所述参数信息中选取出的目标信息,确定秘钥数据;
33.基于所述第二字符编码表和所述秘钥数据,对所述待加密数据进行转换,得到第二验证数据;
34.基于所述第一验证数据和所述第二验证数据,确定所述接口调用请求的响应结果。
35.根据本发明的第三方面,提供了一种接口调用装置,设置于第一电子设备,包括:
36.第一参数确定模块,用于确定接口调用请求对应的参数信息;
37.第一数据确定模块,用于基于第一字符编码表和所述参数信息,确定待加密数据;
38.第一秘钥确定模块,用于基于第二字符编码表和在所述参数信息中选取出的目标信息,确定秘钥数据;
39.第一转换处理模块,用于基于所述第二字符编码表和所述秘钥数据,对所述待加密数据进行转换,得到第一验证数据;
40.数据发送处理模块,用于将所述接口调用请求和所述第一验证数据发送至第二电子设备,以使得所述第二电子设备基于所述接口调用请求,生成第二验证数据;并基于所述第一验证数据和所述第二验证数据,确定对所述接口调用请求的响应结果。
41.根据本发明的第四方面,提供了一种接口调用装置,设置于第二电子设备,包括:
42.数据接收处理模块,用于接收第一电子设备发送的接口调用请求和第一验证数据;所述第一验证数据是所述第一电子设备基于所述接口调用请求生成的;
43.第二参数确定模块,用于确定所述接口调用请求对应的参数信息;
44.第二数据确定模块,用于基于第一字符编码表和所述参数信息,确定待加密数据;
45.第二秘钥确定模块,用于基于第二字符编码表和在所述参数信息中选取出的目标信息,确定秘钥数据;
46.第二转换处理模块,用于基于所述第二字符编码表和所述秘钥数据,对所述待加密数据进行转换,得到第二验证数据;
47.数据验证处理模块,用于基于所述第一验证数据和所述第二验证数据,确定所述接口调用请求的响应结果。
48.根据本发明的第五方面,提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述接口调用方法。
49.根据本发明的第六方面,提供了一种电子设备,所述电子设备包括:
50.处理器;
51.用于存储所述处理器可执行指令的存储器;
52.所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述的接口调用方法。
53.与现有技术相比,本发明提供的接口调用方法、装置、存储介质及电子设备,至少包括以下有益效果:
54.本发明的技术方案通过第一电子设备确定接口调用请求对应的参数信息,然后根据第一字符编码表和参数信息,确定待加密数据,并根据第二字符编码表和参数信息中选取出的目标信息,确定秘钥数据。进一步根据第二字符编码表和秘钥数据,对待加密数据进行转换,得到第一验证数据。也就是说第一验证数据是通过对参数信息进行多次转换得到的,不易被破解,有效降低接口被非法暴力攻击的风险,节约维护接口安全的工作成本。在第一电子设备确定第一验证数据后,将接口调用请求和第一验证数据发送至第二电子设备。第二电子设备接收到接口调用请求后,基于该接口调用请求,生成第二验证数据,并根据第一验证数据和第二验证数据,确定对接口调用请求的响应结果。在本发明提供的技术方案中,在第一电子设备向第二电子设备发送接口调用请求时,不仅发送接口调用请求对应的参数信息,还发送第一验证数据,以使得第二电子设备利用第二验证数据对第一验证数据进行验证,准确地识别出伪造的接口调用请求,保证数据的安全性;并通过对伪造的接口调用请求的有效识别,节约第二电子设备的资源,提高第二电子设备的处理效率。
附图说明
55.为了更清楚地说明本的技术方案,下面将对本发明的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
56.图1是本发明一示例性实施例提供的接口调用方法的应用环境示意图;
57.图2是本发明一示例性实施例提供的接口调用方法的流程示意图一;
58.图3是本发明一示例性实施例提供的接口调用方法的流程示意图二;
59.图4是本发明一示例性实施例提供的接口调用方法的流程示意图三;
60.图5是本发明一示例性实施例提供的接口调用装置的结构示意图一;
61.图6是本发明一示例性实施例提供的接口调用装置的结构示意图二;
62.图7是本发明一示例性实施例提供的电子设备的结构图。
具体实施方式
63.下面将结合本中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有创造性劳动前提下所获得的所有其他实施例,都属于本实施例保护的范围。
64.示例性方法
65.请参阅图1,其所示为根据一示例性实施例示出的一种接口调用方法的应用环境示意图,该应用环境可以包括第一电子设备11和第二电子设备12,该第一电子设备11和第二电子设备12之间可以通过有线网络或者无线网络连接。
66.其中第一电子设备11可以为终端,该终端可以包括但不限于智能手机、台式计算机、平板电脑、笔记本电脑等类型的电子设备,在第一电子设备11上可以安装各种应用程序或小程序,通过各种应用程序和小程序向第二电子设备12发起接口调用。可选地,第一电子设备11上运行的操作系统可以包括但不限于安卓系统、ios系统、linux、windows等。当然第一电子设备11还可以为服务器,该服务器也需要调用第二电子设备12提供的接口,向第二电子设备12发起接口调用请求,其中第一电子设备11和第二电子设备12可以为相同的或不同的服务器。
67.第二电子设备12为接口服务器,用于响应第一电子设备11的接口调用请求。具体地,第二电子设备12可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn(content delivery network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。示例性的,第二电子设备12为第一电子设备11提供api(application programming interface,应用程序接口),该api可以供安装在第一电子设备11上的应用程序进行调用。
68.图2是本发明一示例性实施例提供的接口调用方法的流程示意图,该方法应用于第一电子设备,至少包括如下步骤:
69.步骤21,确定接口调用请求对应的参数信息。
70.其中,参数信息为第一电子设备生成的接口调用请求实际携带的数据。
71.在本步骤中,第一电子设备为请求端,第二电子设备为被请求端,第一电子设备在需要调用第二电子设备的接口时,向第二电子设备发送接口调用请求。
72.具体地,第一电子设备生成接口调用请求,然后确定接口调用请求携带的参数信息;当然也可以先确定生成接口调用请求所需的参数信息,并进一步根据该参数信息生成接口调用请求。需要说明的是,本实施例中,对于确定参数信息与生成接口调用请求的顺序不作具体限制,确定出的参数信息为接口调用请求实际携带的数据即可。
73.举例来说,图3中的31示例性的示出了一参数信息,该参数信息的具体内容为:username=admin123&number=2022030412&departmanetld=1101。
74.其中,username表征用户名,为参数信息中的一个参数名称,admin123为参数名称
用户名的参数值;number表征编号信息,为参数信息中的另一个参数名称,2022030412为参数名称编号信息的参数值;departmanetld表征标识信息,为参数信息中又一个参数名称,1101为参数名称标识信息的参数值。
75.步骤22,基于第一字符编码表和所述参数信息,确定待加密数据。
76.其中,第一字符编码表为预先设置的用于进行字符转换的编码对照表,该第一字符编码表可以由用户自行编写,也可以选用已知的编码对照表,如ascii码对照表,base64编码对照表等。
77.在一实施例中,利用第一字符编码表对参数信息进行字符转换,将转换后的数据确定为待加密数据。
78.在一实施例中,所述步骤22包括:
79.步骤221,对所述参数信息按照预设规则进行排序,确定排序后的参数信息。
80.其中,预设规则为预先设置的排序规则,将参数信息按照预设规则进行排序,打乱参数信息中内容,得到的排序后的参数信息与原参数信息具有较大差异,增加破解难度,有利于保证数据的安全性。
81.在一种可能的实现方式中,预设规则可以为以k-v形式,其中k表征参数名称,v表征参数值,按照参数信息中各个k中处于第一目标位置的第一字符,进行由小到大的排序。示例性的,设定小写字母的顺序小于大写字母的顺序,数字的顺序小于小写字母的顺序。其中,k-v形式即以参数名称和该参数名称对应的参数值为一个排序单元,对于参数信息username=admin123&number=2022030412&departmanetld=1101,存在k-v形式的三个排序单元即username=admin123、number=2022030412、departmanetld=1101,在进行排序时,排序单元整体移动。第一目标位置可以为参数名称中任意一个指定位置,如第一位、第二位、第三位等。
82.举例来说,在第一目标位置为第一位的情况下,确定参数信息username=admin123&number=2022030412&departmanetld=1101中的三个参数名称中处于第一目标位置的字符分别为u、n、d,以k-v形式按照u、n、d由小到大的排序进行排序,得到的排序后的参数信息可以为departmanetld=1101&number=2022030412&username=admin123。
83.在一种可能的实现方式中,预设规则可以为以k-v形式,按照参数信息中各个v中处于第一目标位置的第一字符,进行由小到大的排序。示例性的,设定小写字母的顺序小于大写字母的顺序,数字的顺序小于小写字母的顺序。
84.举例来说,在第一目标位置为第一位的情况下,确定参数信息username=admin123&number=2022030412&departmanetld=1101中的三个参数值中处于第一目标位置的字符分别为a、2、1,以k-v形式按照a、2、1由小到大的排序进行排序,得到的排序后的参数信息可以为departmanetld=1101&number=2022030412&username=admin123。
85.在一种可能的实现方式中,所述参数信息包括至少一个参数名称和所述至少一个参数名称各自对应的参数值,所述预设规则包括第一预设规则和第二预设规则,所述步骤221,包括:
86.步骤2211,确定各个所述参数名称中处于第一目标位置的第一字符在所述第一字符编码中对应的第二字符。
87.其中,第一目标位置可以为参数名称中的任意一个指定位置,如第一位、第二位、
第三位等。确定各个参数名称中处于第一目标位置的第一字符,然后在第一字符编码表中查询出第一字符对应的第二字符,也就是说第二字符是根据第一字符编码表对第一字符进行转换得到的结果。
88.举例来说,第一字符编码表为十进制ascii码对照表,第一目标位置为第一位,username=admin123&number=2022030412&departmanetld=1101中三个参数名称中处于第一位的第一字符分别为u、n、d,u在十进制ascii码对照表中对应的第二字符为85,n在十进制ascii码对照表中对应的第二字符为78,d在十进制ascii码对照表中对应的第二字符为100。
89.步骤2212,基于各个所述参数名称中所述第一目标位置对应的第二字符和所述第一预设规则,对各个所述参数名称和各个所述参数名称各自对应的参数值进行排序,确定初次排序后的参数信息。
90.在本步骤中,第一预设规则是预设规则中的一部分,即第一预设规则也是预先设置的排序规则。示例性的,第一预设规则可以为以k-v形式,按照第二字符的顺序,由小到大进行排序;或第一预设规则可以为以k-v形式,按照第二字符的顺序,由大到大进行排序。
91.举例来说,第一预设规则为以k-v形式,按照第二字符的顺序,由小到大进行排序时,对于参数信息:
92.username=admin123&number=2022030412&departmanetld=1101,确定的第二字符分别为85、78和100,按照第二字符进行由小到大的排序,得到初次排序后的参数信息,具体如图3中32所示的十进制ascii码由小到大排序内容:number=2022030412&username=admin123&departmanetld=1101。
93.步骤2213,将所述初次排序后的参数信息按照所述第二预设规则进行排序,确定所述排序后的参数信息。
94.在本步骤中,第二预设规则是预设规则中的一部分,即第二预设规则也是预先设置的排序规则。利用第二预设规则对初次排序后的参数信息进行再次排序,通过再次重新排序,打乱参数信息内部的数据,增加破解难度,有利于保证数据的安全性。
95.示例性的,第二预设规则可以为以kvkkvvkkkvvv形式进行排序。对于number=2022030412&username=admin123&departmanetld=1101的初次排序后的参数信息,按照kvkkvvkkkvvv进行排序后,得到的排序后的参数信息,具体如图3中33所示的待转化十进制ascii码的字符串:number2022030412usernamedepartmanetldadmin1231101。
96.示例性的,第二预设规则可以为以kkvvkvkkvv形式进行排序。对于number=2022030412&username=admin123&departmanetld=1101的初次排序后的参数信息,按照kkvvkvkkvv进行排序后,得到的排序后的参数信息:numberusername2022030412admin123departmanetld1101。
97.示例性的,第二预设规则可以为以kkkvvvkkvvkv形式进行排序。对于number=2022030412&username=admin123&departmanetld=1101的初次排序后的参数信息,按照kkkvvvkkvvkv进行排序后,得到的排序后的参数信息:numberusernamedepartmanetld2022030412admin1231101。
98.需要说明的是,对k与v进行不同的组合,得到不同的第二预设规则,因此本实施例中对第二预设规则的不作具体限制,用户可以根据实际需求进行设置。
99.步骤222,基于所述第一字符编码表和所述排序后的参数信息,确定所述待加密数据。
100.在一实施例中,利用第一字符编码表对排序后的参数信息进行字符转换,得到待加密数据,该待加密数据的破解难度较大,有利于保证数据安全。
101.在一实施例中,所述步骤222,包括:
102.步骤2221,利用所述第一字符编码表对所述排序后的参数信息进行字符转换,确定转换后的参数信息。
103.步骤2222,将所述转换后的参数信息与所述接口调用请求对应的时间戳进行拼接,确定所述待加密数据。
104.在本实施例中,利用第一字符编码表对排序后的参数信息进行字符转换,确定转换后的参数信息,并确定接口调用请求对应的时间戳,将转换后的参数信息与接口调用请求对应的时间戳进行拼接,进一步增加数据转换,确定出破解难度较大的待加密数据。
105.具体地,确定时间戳的拼接位置和拼接顺序。其中拼接位置可以为转换后的参数信息中任意一个指定位置,如在转换后的参数信息前,或转换后的参数信息后,或转换后的参数信息中指定的两个相邻字符间。拼接顺序可以为正序拼接也可以为倒序拼接。
106.举例来说,将如图3中33所示的待转化十进制ascii码的字符串:number2022030412usernamedepartmanetldadmin1231101按照十进制ascii码对照表进行转换,生成的转换后的参数信息具体如图3中34所示:781171099810111450485050485148524950851151011147897109101100101112971141161099711010111673100971001091051104。确定出接口调用请求的时间戳为20220427182430,也就是2022年4月27日18点24分30秒。将该时间戳的倒序即03428172402202拼接在转换后的参数信息前,得到如图3中35所示的待加密的字符串,该待加密的字符串即为本步骤中待加密数据:03428172402202781171099810111450485050485148524950851151011147897109101100101112971141161099711010111673100971001091051104。
107.步骤23,基于第二字符编码表和在所述参数信息中选取出的目标信息,确定秘钥数据。
108.在本步骤中,在参数信息中选取出目标信息,根据第二字符编码表和目标信息,确定秘钥数据,该秘钥数据是根据接口调用参数的参数信息确定的,不同的参数信息,对应不同秘钥数据,避免预先定好秘钥可能导致的秘钥泄露,同时也避免形式单一的秘钥数据,有效保证数据的安全性。
109.在一实施例中,所述步骤23,包括:
110.步骤231,将所述参数信息中处于第二目标位置的参数名称选取为所述目标信息。
111.步骤232,基于所述第二字符编码表和所述目标信息,确定所述秘钥数据。
112.其中,第二字符编码表为预先设置的用于进行字符转换的编码对照表,该第一字符编码表可以由用户自行编写,也可以选用已知的字符转换表。第二目标位置参数信息中任意一个指定位置,第二目标位置是参数名称的次序,如第一个参数名称、第二个参数名称、第三个参数名称等。将参数信息中处于第二目标位置的参数名称确定为目标信息后,利用第二字符编码表对目标信息进行字符转换,确定出秘钥数据。该秘钥数据具有灵活性和多样性,有利于保证数据的安全性。
113.举例来说,第二字符编码表为自行定义的密码盘,具体如下所示:
114.abcdefghigklm0123456789101112nopqrstuvwxyz13141516171819202122232425
115.若第二目标位置为第一位,确定出参数信息中处于第一位的参数名称为username,即username为目标信息,根据第二字符编码表对目标信息进行格式调整,确定调整后的目标信息,如将小写字母调整为大写字母,得到的调整后的目标信息为username,利用第二字符编码表对得到的调整后的目标信息进行转换,即对username进行转换,得到秘钥数据k(20,18,4,17,13,0,12,4)。
116.步骤24,基于所述第二字符编码表和所述秘钥数据,对所述待加密数据进行转换,得到第一验证数据。
117.在本步骤中,利用第二字符编码表和秘钥数据,对待加密数据进行转换,得到第一验证数据,得到的第一验证数据是参数信息经过多次变化后得到的,该第一验证数据被破解的可能性较小,有利于保证数据的安全性。
118.在一实施例中,所述步骤24,包括:
119.步骤241,确定所述秘钥数据对应的秘钥数量。
120.在本步骤中,对秘钥数据中的秘钥进行统计,确定出秘钥数量。例如对于秘钥数据k(20,18,4,17,13,0,12,4),确定出秘钥数量为8。
121.步骤242,将所述待加密数据按照所述秘钥数量进行分组,得到至少一组待加密组。
122.具体地,将待加密数据中相邻的秘钥数量的数据分为一组,从而得到至少一组待加密组,每一待加密组中的数据数量与秘钥数量相同。
123.举例来说,对于如下所示的待加密数据:
124.03428172402202781171099810111450485050485148524950851151011147897109101100101112971141161099711010111673100971001091051104,将该加密数据按照秘钥数量进行分组,即每相邻的8个数据为一组,得到第一待加密组为03428172,第二待加密组为40220278,第三待加密组11710998等。
125.步骤243,确定每一所述待加密组与所述秘钥数据的计算结果。
126.在本步骤中,利用秘钥数据对每一待加密组进行加密运算,即确定每一待加密组与秘钥数据的计算结果。具体地,因待加密组中的数据数量与秘钥数据中的秘钥数量相同,因此分别利用每一位秘钥对待加密组中处于相同次数的数据进行加密,得到该待加密组与秘钥数据的计算结果。
127.在一种可能的实现方式中,利用维吉尼亚密钥原理,确定每一所述待加密组与所述秘钥数据的计算结果。
128.具体地,加密算法表示为:enck(m)=c;
129.其中,enc表征加密算法,k表征秘钥,m表征明文输入,c表征密文输出,也就是说密算法enc以秘钥k、明文m为输入,输出密文c。其中明文m属于p,p表征明文空间,为所有可能的明文组成的有限集;秘钥k属于k,k表征秘钥空间,为所有可能的密钥k组成的有限集;输
出c属于c,c表征密文空间,其所有可能的密文组成的有限集,p=c=k=z
n26

130.进一步地,enck(m1,m2,...,mn)=(m1+k1,m2+k2,...,mn+kn);
131.其中m1表征每一组待加密组中的第一位数据,m2表征每一组待加密组中的第二位数据,mn表征每一组待加密组中的第n位数据;k1表征秘钥数据中的第一位秘钥,k2表征秘钥数据中的第二位秘钥,kn表征秘钥数据中的第n位秘钥;m1+k1表征第一个输出的密文,为一计算结果,m2+k2表征第二个输出的密文,为一计算结果,mn+kn表征第n个输出的密文,为一计算结果。
132.举例来说,第一待加密组为03428172,秘钥数据k为20,18,4,17,13,0,12,4,将第一待加密组中的第一位数据0,与秘钥数据k中的第一位数据20进行相加,得到20;将第一待加密组中的第二位数据3,与秘钥数据k中的第二位数据18进行相加;得到21,依次类推,得到第一待加密组与秘钥数据的计算结果:2021819211196。
133.步骤244,利用所述第二字符编码表对所述计算结果进行字符转换,得到所述第一验证数据。
134.具体地,利用第二字符编码表对计算结果进行字符转换,并根据每一计算结果在待加密数据中次序,得到第一验证数据。
135.举例来说,利用第二字符编码表对第一待加密组与秘钥数据的计算结果进行字符转换,即将20转换为u,21转换为v,8转换为i,19转换为t,21转换为v,1转换为b,19转换为t,6转换为g。因第一待加密组为待加密数据中的第一部分,因此获取到第一验证数据的第一部分即uvitvbtg。将每一待加密组对应的计算结果利用第二字符编码表进行字符转换,得到第一验证数据。该第一验证数据是根据维吉尼亚密码原理生成的散列函数,将如图3中35所示的待加密的字符串利用第二字符编码表进行转换,生成如图3中36所述的散列函数,该散列函数即为第一验证数据:
136.uvitvbtgysgtnctmvtlsngvmvsfsoereyagrsaqmztizscqnzsmwobrfutfsrhunbteaoanfusfrobngdzfsrbnkvsnaubnevsfsogthvseaubmevsnsnfnfuw。本实施例中散列函数的生成方式简单,生成的散列函数安全性更高,不易破解,保证数据的安全性。
137.步骤25,将所述接口调用请求和所述第一验证数据发送至第二电子设备,以使得所述第二电子设备基于所述接口调用请求,生成第二验证数据;并基于所述第一验证数据和所述第二验证数据,确定对所述接口调用请求的响应结果。
138.在本步骤中,在第一电子设备生成接口调用请求,并确定第一验证数据后,将接口调用请求和第一验证数据发送至第二电子设备。第二电子设备在接收到接口调用请求后,基于接口调用请求,生成第二验证数据,并利用第二验证数据对第一验证数据进行验证,确定对接口调用请求的响应结果。
139.具体地,第一电子设备和第二电子设备预先进行协议,确定协议内容即第一电子设备基于接口调用请求生成第一验证数据的方式(即步骤21至步骤24的内容)与第二电子设备基于接口调用请求生成第二验证数据的方式相同。也就是说,第二电子设备接到接口调用请求后,确定接口调用请求对应的参数信息,基于第一字符编码表和参数信息,确定待加密数据;基于第二字符编码表和参数信息中选取出的目标信息,确定秘钥数据;基于第二字符编码表和秘钥数据,对待加密数据进行转换,得到第二验证数据;将第一验证数据与第二验证数据进行比较,在第一验证数据与第二验证数据相同的情况下,第二电子设备确定
该接口调用请求合法,响应该接口调用请求;在第一验证数据与第二验证数据不相同的情况下,第二电子设备不响应该接口调用请求,以保证数据的安全性。
140.在上述实施例中,通过第一电子设备确定接口调用请求对应的参数信息,然后根据第一字符编码表和参数信息,确定待加密数据,并根据第二字符编码表和参数信息中选取出的目标信息,确定秘钥数据。进一步根据第二字符编码表和秘钥数据,对待加密数据进行转换,得到第一验证数据。也就是说第一验证数据是通过对参数信息进行多次转换得到的,不易被破解,有效降低接口被非法暴力攻击的风险,节约维护接口安全的工作成本。在第一电子设备确定第一验证数据后,将接口调用请求和第一验证数据发送至第二电子设备。第二电子设备接收到接口调用请求后,基于该接口调用请求,生成第二验证数据,并根据第一验证数据和第二验证数据,确定对接口调用请求的响应结果。在本发明提供的技术方案中,在第一电子设备向第二电子设备发送接口调用请求时,不仅发送接口调用请求对应的参数信息,还发送第一验证数据,以使得第二电子设备利用第二验证数据对第一验证数据进行验证,准确地识别出伪造的接口调用请求,保证数据的安全性;并通过对伪造的接口调用请求的有效识别,节约第二电子设备的资源,提高第二电子设备的处理效率。
141.图4是本发明一示例性实施例提供的接口调用方法的流程示意图,该方法应用于第二电子设备,至少包括如下步骤:
142.步骤41,接收第一电子设备发送的接口调用请求和第一验证数据;所述第一验证数据是所述第一电子设备基于所述接口调用请求生成的;
143.步骤42,确定所述接口调用请求对应的参数信息;
144.步骤43,基于第一字符编码表和所述参数信息,确定待加密数据;
145.步骤44,基于第二字符编码表和在所述参数信息中选取出的目标信息,确定秘钥数据;
146.步骤45,基于所述第二字符编码表和所述秘钥数据,对所述待加密数据进行转换,得到第二验证数据;
147.步骤46,基于所述第一验证数据和所述第二验证数据,确定所述接口调用请求的响应结果。
148.在本实施例中,第二电子设备接收第一电子设备发送的接口调用请求和第一验证数据,其中第一验证数据为第一电子设备基于接口调用请求确定(具体对应步骤21至步骤24的内容)。第二电子设备根据接收到的接口调用请求,确定接口调用请求对应的参数信息,基于第一字符编码表和参数信息,确定待加密数据;基于第二字符编码表和参数信息中选取出的目标信息,确定秘钥数据;基于第二字符编码表和秘钥数据,对待加密数据进行转换,得到第二验证数据。将第一验证数据与第二验证数据进行比较,在第一验证数据与第二验证数据相同的情况下,第二电子设备确定该接口调用请求合法,响应该接口调用请求;在第一验证数据与第二验证数据不相同的情况下,第二电子设备不响应该接口调用请求,保证数据的安全性。
149.本发明一示例性实施例提供的接口调用方法的流程示意图,该方法应用于接口调用系统,所述接口调用系统包括第一电子设备和第二电子设备,至少包括如下步骤:
150.第一电子设备确定接口调用请求对应的参数信息;
151.第一电子设备基于第一字符编码表和所述参数信息,确定第一待加密数据;
152.第一电子设备基于第二字符编码表和在所述参数信息中选取出的目标信息,确定第一秘钥数据;
153.第一电子设备基于所述第二字符编码表和所述第一秘钥数据,对所述第一待加密数据进行转换,得到第一验证数据;
154.第一电子设备将所述接口调用请求和所述第一验证数据发送至第二电子设备;
155.第二电子设备接收第一电子设备发送的接口调用请求和第一验证数据;
156.第二电子设备确定所述接口调用请求对应的参数信息;
157.第二电子设备基于第一字符编码表和所述参数信息,确定第二待加密数据;
158.第二电子设备基于第二字符编码表和在所述参数信息中选取出的目标信息,确定第二秘钥数据;
159.第二电子设备基于所述第二字符编码表和所述第二秘钥数据,对所述第二待加密数据进行转换,得到第二验证数据;
160.第二电子设备基于所述第一验证数据和所述第二验证数据,确定所述接口调用请求的响应结果。
161.示例性装置
162.基于与本发明方法实施例相同的构思,本发明实施例还提供了接口调用装置。
163.图5示出了本发明一示例性实施例提供的接口调用装置的结构示意图,该装置设置于第一电子设备,包括:
164.第一参数确定模块51,用于确定接口调用请求对应的参数信息;
165.第一数据确定模块52,用于基于第一字符编码表和所述参数信息,确定待加密数据;
166.第一秘钥确定模块53,用于基于第二字符编码表和在所述参数信息中选取出的目标信息,确定秘钥数据;
167.第一转换处理模块54,用于基于所述第二字符编码表和所述秘钥数据,对所述待加密数据进行转换,得到第一验证数据;
168.数据发送处理模块55,用于将所述接口调用请求和所述第一验证数据发送至第二电子设备,以使得所述第二电子设备基于所述接口调用请求,生成第二验证数据;并基于所述第一验证数据和所述第二验证数据,确定对所述接口调用请求的响应结果。
169.在本发明一示例性实施例中,所述第一数据确定模块,包括:
170.排序处理单元,用于对所述参数信息按照预设规则进行排序,确定排序后的参数信息;
171.数据确定单元,用于基于所述第一字符编码表和所述排序后的参数信息,确定所述待加密数据。
172.在本发明一示例性实施例中,所述参数信息包括至少一个参数名称和所述至少一个参数名称各自对应的参数值,所述预设规则包括第一预设规则和第二预设规则,所述排序处理单元,包括:
173.字符确定子单元,用于确定各个所述参数名称中处于第一目标位置的第一字符在所述第一字符编码中对应的第二字符;
174.第一排序子单元,用于基于各个所述参数名称中所述第一目标位置对应的第二字
符和所述第一预设规则,对各个所述参数名称和各个所述参数名称各自对应的参数值进行排序,确定初次排序后的参数信息;
175.第二排序子单元,用于将所述初次排序后的参数信息按照所述第二预设规则进行排序,确定所述排序后的参数信息。
176.在本发明一示例性实施例中,所述数据确定单元,包括:
177.转换处理子单元,用于利用所述第一字符编码表对所述排序后的参数信息进行字符转换,确定转换后的参数信息;
178.拼接处理子单元,用于将所述转换后的参数信息与所述接口调用请求对应的时间戳进行拼接,确定所述待加密数据。
179.在本发明一示例性实施例中,所述第一转换处理模块,包括:
180.数量确定单元,用于确定所述秘钥数据对应的秘钥数量;
181.分组处理单元,用于将所述待加密数据按照所述秘钥数量进行分组,得到至少一组待加密组;
182.计算处理单元,用于确定每一所述待加密组与所述秘钥数据的计算结果;
183.第一转换单元,用于利用所述第二字符编码表对所述计算结果进行字符转换,得到所述第一验证数据。
184.在本发明一示例性实施例中,其特征在于,所述第一秘钥确定模块,包括:
185.信息选取单元,用于将所述参数信息中处于第二目标位置的参数名称选取为所述目标信息;
186.第二转换单元,用于基于所述第二字符编码表和所述目标信息,确定所述秘钥数据。
187.图6示出了本发明一示例性实施例提供的接口调用装置的结构示意图,该装置设置于第二电子设备,包括:
188.数据接收处理模块61,用于接收第一电子设备发送的接口调用请求和第一验证数据;所述第一验证数据是所述第一电子设备基于所述接口调用请求生成的;
189.第二参数确定模块62,用于确定所述接口调用请求对应的参数信息;
190.第二数据确定模块63,用于基于第一字符编码表和所述参数信息,确定待加密数据;
191.第二秘钥确定模块64,用于基于第二字符编码表和在所述参数信息中选取出的目标信息,确定秘钥数据;
192.第二转换处理模块65,用于基于所述第二字符编码表和所述秘钥数据,对所述待加密数据进行转换,得到第二验证数据;
193.数据验证处理模块66,用于基于所述第一验证数据和所述第二验证数据,确定所述接口调用请求的响应结果。
194.发明一示例性实施例提供的接口调用系统,所述接口调用系统包括第一电子设备和第二电子设备;
195.第一电子设备,用于确定接口调用请求对应的参数信息;
196.第一电子设备,用于基于第一字符编码表和所述参数信息,确定第一待加密数据;
197.第一电子设备,用于基于第二字符编码表和在所述参数信息中选取出的目标信
息,确定第一秘钥数据;
198.第一电子设备,用于基于所述第二字符编码表和所述第一秘钥数据,对所述第一待加密数据进行转换,得到第一验证数据;
199.第一电子设备,用于将所述接口调用请求和所述第一验证数据发送至第二电子设备;
200.第二电子设备,用于接收第一电子设备发送的接口调用请求和第一验证数据;
201.第二电子设备,用于确定所述接口调用请求对应的参数信息;
202.第二电子设备,用于基于第一字符编码表和所述参数信息,确定第二待加密数据;
203.第二电子设备,用于基于第二字符编码表和在所述参数信息中选取出的目标信息,确定第二秘钥数据;
204.第二电子设备,用于基于所述第二字符编码表和所述第二秘钥数据,对所述第二待加密数据进行转换,得到第二验证数据;
205.第二电子设备,用于基于所述第一验证数据和所述第二验证数据,确定所述接口调用请求的响应结果。
206.示例性电子设备
207.图7图示了根据本发明实施例的电子设备的框图。
208.如图7所示,电子设备70包括一个或多个处理器71和存储器72。
209.处理器71可以是中央处理单元(cpu)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备70中的其他组件以执行期望的功能。
210.存储器72可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(rom)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器71可以运行所述程序指令,以实现上文所述的本发明的各个实施例的接口调用方法以及/或者其他期望的功能。
211.在一个示例中,电子设备70还可以包括:输入装置73和输出装置74,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
212.当然,为了简化,图7中仅示出了该电子设备70中与本发明有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备70还可以包括任何其他适当的组件。
213.示例性计算机程序产品和计算机可读存储介质
214.第六方面,除了上述方法和设备以外,本发明的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本发明各种实施例的接口调用方法中的步骤。
215.所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本发明实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如java、c++等,还包括常规的过程式程序设计语言,诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备
或服务器上执行。
216.此外,本发明的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本发明各种实施例的接口调用方法中的步骤。
217.所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
218.以上结合具体实施例描述了本发明的基本原理,但是,需要指出的是,在本发明中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本发明的各个实施例必须具备的。另外,上述发明的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本发明为必须采用上述具体的细节来实现。
219.本发明中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
220.还需要指出的是,在本发明的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本发明的等效方案。
221.提供所发明的方面的以上描述以使本领域的任何技术人员能够做出或者使用本发明。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本发明的范围。因此,本发明不意图被限制到在此示出的方面,而是按照与在此发明的原理和新颖的特征一致的最宽范围。
222.为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本发明的实施例限制到在此发明的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。

技术特征:


1.一种接口调用方法,其特征在于,应用于第一电子设备,包括:确定接口调用请求对应的参数信息;基于第一字符编码表和所述参数信息,确定待加密数据;基于第二字符编码表和在所述参数信息中选取出的目标信息,确定秘钥数据;基于所述第二字符编码表和所述秘钥数据,对所述待加密数据进行转换,得到第一验证数据;将所述接口调用请求和所述第一验证数据发送至第二电子设备,以使得所述第二电子设备基于所述接口调用请求,生成第二验证数据;并基于所述第一验证数据和所述第二验证数据,确定对所述接口调用请求的响应结果。2.根据权利要求1所述的方法,其特征在于,所述基于第一字符编码表和所述参数信息,确定待加密数据,包括:对所述参数信息按照预设规则进行排序,确定排序后的参数信息;基于所述第一字符编码表和所述排序后的参数信息,确定所述待加密数据。3.根据权利要求2所述的方法,其特征在于,所述参数信息包括至少一个参数名称和所述至少一个参数名称各自对应的参数值,所述预设规则包括第一预设规则和第二预设规则,所述对所述参数信息按照预设规则进行排序,确定排序后的参数信息,包括:确定各个所述参数名称中处于第一目标位置的第一字符在所述第一字符编码中对应的第二字符;基于各个所述参数名称中所述第一目标位置对应的第二字符和所述第一预设规则,对各个所述参数名称和各个所述参数名称各自对应的参数值进行排序,确定初次排序后的参数信息;将所述初次排序后的参数信息按照所述第二预设规则进行排序,确定所述排序后的参数信息。4.根据权利要求2所述的方法,其特征在于,所述基于所述第一字符编码表和所述排序后的参数信息,确定所述待加密数据,包括:利用所述第一字符编码表对所述排序后的参数信息进行字符转换,确定转换后的参数信息;将所述转换后的参数信息与所述接口调用请求对应的时间戳进行拼接,确定所述待加密数据。5.根据权利要求1所述的方法,其特征在于,所述基于所述第二字符编码表和所述秘钥数据,对所述待加密数据进行转换,得到第一验证数据,包括:确定所述秘钥数据对应的秘钥数量;将所述待加密数据按照所述秘钥数量进行分组,得到至少一组待加密组;确定每一所述待加密组与所述秘钥数据的计算结果;利用所述第二字符编码表对所述计算结果进行字符转换,得到所述第一验证数据。6.根据权利要求1-5中任一项所述的方法,其特征在于,所述基于第二字符编码表和在所述参数信息中选取出的目标信息,确定秘钥数据,包括:将所述参数信息中处于第二目标位置的参数名称选取为所述目标信息;基于所述第二字符编码表和所述目标信息,确定所述秘钥数据。
7.一种接口调用方法,其特征在于,应用于第二电子设备,包括:接收第一电子设备发送的接口调用请求和第一验证数据;所述第一验证数据是所述第一电子设备基于所述接口调用请求生成的;确定所述接口调用请求对应的参数信息;基于第一字符编码表和所述参数信息,确定待加密数据;基于第二字符编码表和在所述参数信息中选取出的目标信息,确定秘钥数据;基于所述第二字符编码表和所述秘钥数据,对所述待加密数据进行转换,得到第二验证数据;基于所述第一验证数据和所述第二验证数据,确定所述接口调用请求的响应结果。8.一种接口调用装置,其特征在于,设置于第一电子设备,包括:第一参数确定模块,用于确定接口调用请求对应的参数信息;第一数据确定模块,用于基于第一字符编码表和所述参数信息,确定待加密数据;第一秘钥确定模块,用于基于第二字符编码表和在所述参数信息中选取出的目标信息,确定秘钥数据;第一转换处理模块,用于基于所述第二字符编码表和所述秘钥数据,对所述待加密数据进行转换,得到第一验证数据;数据发送处理模块,用于将所述接口调用请求和所述第一验证数据发送至第二电子设备,以使得所述第二电子设备基于所述接口调用请求,生成第二验证数据;并基于所述第一验证数据和所述第二验证数据,确定对所述接口调用请求的响应结果。9.一种接口调用装置,其特征在于,设置于第二电子设备,包括:数据接收处理模块,用于接收第一电子设备发送的接口调用请求和第一验证数据;所述第一验证数据是所述第一电子设备基于所述接口调用请求生成的;第二参数确定模块,用于确定所述接口调用请求对应的参数信息;第二数据确定模块,用于基于第一字符编码表和所述参数信息,确定待加密数据;第二秘钥确定模块,用于基于第二字符编码表和在所述参数信息中选取出的目标信息,确定秘钥数据;第二转换处理模块,用于基于所述第二字符编码表和所述秘钥数据,对所述待加密数据进行转换,得到第二验证数据;数据验证处理模块,用于基于所述第一验证数据和所述第二验证数据,确定所述接口调用请求的响应结果。10.一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述权利要求1-7任一项所述的接口调用方法。11.一种电子设备,所述电子设备包括:处理器;用于存储所述处理器可执行指令的存储器;所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述权利要求1-7任一项所述的接口调用方法。

技术总结


本发明提供了接口调用方法、装置、存储介质及电子设备,应用于第一电子设备的方法包括:确定接口调用请求对应的参数信息;基于第一字符编码表和参数信息,确定待加密数据;基于第二字符编码表和在参数信息中选取出的目标信息,确定秘钥数据;基于第二字符编码表和秘钥数据,对待加密数据进行转换,得到第一验证数据;将接口调用请求和第一验证数据发送至第二电子设备,以使得第二电子设备基于接口调用请求,生成第二验证数据;并基于第一验证数据和第二验证数据,确定对接口调用请求的响应结果。本发明提供的技术方案通过第一验证数据和第二验证数据对接口调用请求的合法性进行验证,有效保证数据的安全性。有效保证数据的安全性。有效保证数据的安全性。


技术研发人员:

李风来

受保护的技术使用者:

中国电信股份有限公司

技术研发日:

2022.10.10

技术公布日:

2023/2/23

本文发布于:2024-09-25 14:33:43,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/66399.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:所述   数据   参数   码表
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议