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

一种SDK软件接口服务授权方法及装置与流程

2021-10-29 22:39:00 来源:中国专利 TAG:装置 接口 授权 互联网 方法

一种sdk软件接口服务授权方法及装置
技术领域
1.本发明涉及互联网技术领域,特别涉及一种sdk软件接口服务授权方法及装置。


背景技术:

2.软件开发工具包(softwaredevelopmentkit,简称sdk)是指由第三方服务商提供的实现软件产品某项功能的工具包。通过对sdk进行授权管理方法来提高移动服务的安全性,目前常用的一些sdk设备服务授权授权策略仍存在一些缺陷,比如:缺乏认证时间的属性,对于一些需要永久认证的用户来说,每次调用数据都需要进行一次加密解密的认证操作,极大的浪费了硬件资源开销。加密与解密严重依赖软件系统,每一次打开和关闭都需要加密解密,造成时间浪费,如果批处理文件的话时间浪费更久且执行效率地低下。有些只适用文本类的文件加密,对源代码或者链接库等需要导入程序中运行的文件不是很友好。


技术实现要素:

3.本发明的目的在于克服现有技术存在的缺陷,节省资源。
4.为实现以上目的,一方面,本发明采用一种sdk软件接口服务授权方法,包括:
5.用户方启动api接口时,读取用户方硬件设备上的授权文件,从授权文件中读取文件内容,该授权文件为服务提供方基于用户方的硬件设备参数生成授权序列号,并将授权序列号写入硬件设备的文件得到;
6.判断文件内容与当前设备的硬件环境是否一致;
7.若是,从文件内容获取硬件设备对应的授权状态,该授权状态包括永久授权、限时授权和单次授权;
8.若否,确定当前用户方无权限。
9.进一步地,所述硬件设备参数包括c盘序列号、网卡名称、网卡对应的mac地址;
10.所述服务提供方基于用户方的硬件设备参数生成授权序列号,并将授权序列号写入硬件设备的文件,包括:
11.通过加密算法将所述硬件设备参数、授权码和随机数进行混淆,生成机器码,所述授权码包括授权状态和授权时间;
12.将机器码经des加密后,再进行base64编码,生成加密序列号;
13.将序列号写入所述用户方的硬件设备的文件中。
14.进一步地,所述将序列号写入所述用户方的硬件设备的文件中,包括:
15.将所述序列号写入所述用户方的硬件设备etc目录下的hb_eth0文件中。
16.进一步地,所述读取用户方硬件设备上的授权文件,从授权文件中读取文件内容,包括:
17.将所述授权文件经base64解码后,进行des解密,得到授权文件的内容;
18.从授权文件内容获取设备指纹序列号:硬件设备参数 授权码。
19.进一步地,在所述授权状态为限时授权时,还包括:
20.每间隔设定时间读取所述授权文件的授权内容并解析出授权时间,直至授权时间为零,授权截止。
21.进一步地,在所述判断文件内容与当前设备的硬件环境是否一致之前,还包括:
22.判断所述授权文件是否存在;
23.若是,则判断文件内容与当前设备的硬件环境是否一致;
24.若否,则确定所述用户方无权限。
25.另一方面,采用一种sdk软件接口服务授权装置,包括布置在服务提供方的第一服务器和布置在用户方的第二服务器,第一服务器和第二服务器连接通信,第二服务器包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现如上所述的sdk软件接口服务授权方法。
26.进一步地,所述第一服务器包括获取模块和加密模块,获取模块用于获取用户方的硬件设备参数,加密模块用于基于硬件设备参数生成授权序列号,并将授权序列号写入硬件设备的文件。
27.进一步地,所述硬件设备参数包括c盘序列号、网卡名称、网卡对应的mac地址。
28.进一步地,所述加密模块具体用于:
29.通过加密算法将所述硬件设备参数、授权码和随机数进行混淆,生成机器码,所述授权码包括授权状态和授权时间;
30.将机器码经des加密后,再进行base64编码,生成加密序列号;
31.将序列号写入所述用户方的硬件设备的文件中。
32.与现有技术相比,本发明存在以下技术效果:本发明通过将sdk与硬件设备绑定,可有效防止用户方将sdk提供给第三方使用,同时不会泄露核心算法;且提供了三种功能权限:长期使用、限时使用和一次性试用,方便企业选择,使获得授权的用户能够在准许使用的授权时间范围内获得提供的sdk的使用权限并且安全的使用。
附图说明
33.下面结合附图,对本发明的具体实施方式进行详细描述:
34.图1是一种sdk软件接口服务授权方法的流程示意图;
35.图2是sdk软件接口服务授权整体流程图。
具体实施方式
36.为了更进一步说明本发明的特征,请参阅以下有关本发明的详细说明与附图。所附图仅供参考与说明之用,并非用来对本发明的保护范围加以限制。
37.如图1至图2所示,本实施例公开了一种sdk软件接口服务授权方法,包括如下步骤:
38.s1、用户方启动api接口时,读取用户方硬件设备上的授权文件,从授权文件中读取文件内容,该授权文件为服务提供方基于用户方的硬件设备参数生成授权序列号,并将授权序列号写入硬件设备的文件得到;
39.s2、判断文件内容与当前设备的硬件环境是否一致,若是则执行步骤s3,若否则执行步骤s4;
40.s3、从文件内容获取硬件设备对应的授权状态,该授权状态包括永久授权、限时授权和单次授权;
41.s4、确定当前用户方无权限。
42.作为进一步优选的技术方案,所述硬件设备参数包括c盘序列号、网卡名称、网卡对应的mac地址;
43.所述服务提供方基于用户方的硬件设备参数生成授权序列号,并将授权序列号写入硬件设备的文件,包括:
44.通过加密算法将所述硬件设备参数、授权码和随机数进行混淆,生成机器码,所述授权码包括授权状态和授权时间;
45.将机器码经des加密后,再进行base64编码,生成加密序列号;
46.将序列号写入所述用户方的硬件设备的文件中。
47.作为进一步优选的技术方案,所述将序列号写入所述用户方的硬件设备的文件中,包括:
48.将所述序列号写入所述用户方的硬件设备etc目录下的hb_eth0文件中。
49.需要说明的是,授权程序的执行需用户方提供硬件设备参数(或者授权方售前本地部署获取),这个参数为c盘序列号,网卡名称(例如网卡名称eth0),获取eth0和其对应的mac地址。通过加密算法将网卡名称 c盘序列号 mac地址 授权码(授权状态 授权时间(以小时为单位,比如1024小时)) 随机数进行混淆,生成最终的机器码。之后经过des加密后,再进行base64编码,生成一个加密的序列号。将这个序列号写入到硬件设备中的一个文件中(例如放到etc目录下的hb_eth0中,这样重启也不会消失),这个文件的内容就是加密后的字符串。
50.作为进一步优选的技术方案,所述读取用户方硬件设备上的授权文件,从授权文件中读取文件内容,包括:
51.将所述授权文件经base64解码后,进行des解密,得到授权文件的内容;
52.从授权文件内容获取设备指纹序列号:硬件设备参数 授权码。
53.需要说明的是,内容权限的判读只需判断一次,即在第一次启动api接口的时候,通过将密码经过base64解码,再经过des解密,解密出第一步中硬件设备中生成的hb_eth0文件的内容从中获取保存的设备指纹序列号:网卡信息 c盘序列号 mac地址和授权码,然后和当前设备的实际网卡信息,mac地址和c盘序列号进行对比,如果成功就说明授权成功,可以进行服务授权。
54.作为进一步优选的技术方案,本实施例中授权的时间策略上分为永久授权、限时授权和单次授权三种方式。用户在调用sdk中的api服务时(比如提供的so动态库中接口的时候)会立刻单独启动一个线程来读取客户硬件设备上写入的文件hb_eth0,读取到里面的加密内容之后,将加密序列号先使用base64解码,再经过des解密后可以读取到原本的内容,从而查询到对应的授权状态。若为永久授权则该状态对应的start为“permanent”,单次体验授权状态对应的start为“trial”,限时授权则对应的start的状态为“timelimit“。
55.特别地,在解析得到授权状态为限时授权时,还包括:分析start后的授权时间,若分析出start对应的状态为“timelimit“的,则之后每隔一个小时会读取前一步骤中在客户的硬件设备上写入的文件hb_eth0中所包含的授权时间内容并解析,(例如解密出时间为
1024h)。因为每一小时执行一次,所以每一小时减去1h,之后就变成了1023h,直到0h,授权截止。
56.作为进一步优选的技术方案,如图2所示,在所述判断文件内容与当前设备的硬件环境是否一致之前,还包括:
57.判断所述授权文件是否存在;
58.若是,则判断文件内容与当前设备的硬件环境是否一致;
59.若否,则确定所述用户方无权限。
60.本实施例还公开了一种sdk软件接口服务授权装置,包括布置在服务提供方的第一服务器和布置在用户方的第二服务器,第一服务器和第二服务器连接通信,第二服务器包括存储器和处理器,所述存储器用于存储计算机程序,所述计算机程序被所述处理器执行时,实现如上所述的sdk软件接口服务授权方法。
61.作为进一步优选的技术方案,所述硬件设备参数包括c盘序列号、网卡名称、网卡对应的mac地址。
62.作为进一步优选的技术方案,所述加密模块具体用于:
63.通过加密算法将所述硬件设备参数、授权码和随机数进行混淆,生成机器码,所述授权码包括授权状态和授权时间;
64.将机器码经des加密后,再进行base64编码,生成加密序列号;
65.将序列号写入所述用户方的硬件设备的文件中。
66.本发明实施例提供的系统是用于执行上述各方法实施例的,具体流程和详细内容请参照上述实施例,此处不再赘述。
67.作为进一步优选的技术方案,本实施例中授权文件的安装过程为:
68.(1)针对不同用户设置相应的用户名和密码打开授权文件:
69.修改设置固定的用户名和密码,在每个用户的授权文件设置用户名和密码上均使用了16进制的ascii码来设定,进一步保障了安全性,目的是防止被他人使用strings命令查询到授权程序的用户名和密码。
70.同时也解决了装配人员在装配后忘记删除授权文件而使得授权文件泄露这种情况的发生。或是对于永久授权的用户而言,可将授权文件进行交付使其自行通过用户名和密码进行永久权限授权。
71.(2)编译获取硬件指纹和载入二进制文件的脚本:
72.(3)本地或者远程部署授权文件:
73.进入用户服务器中进行一键授权
74.例如:sudo./uploadauthfile eno1 1024
75.其中参数一为用户网络设备名称参数二为授权期限(单位为小时),程序已经设置自毁模式,执行完生成二进制文件后可执行程序将自动销毁。
76.本发明具有如下有益效果:
77.(1)授权序列号(key)的生成即通过硬件指纹信息(包含保存的网卡名称 c盘序列号 mac地址来判断服务对象的唯一性,且有效地避免了直接获取cpu信息会使得序列信息过长的问题,并且保存的key中末尾包含了随机数的混淆信息,不易被破解。
78.(2)在时间授权分为了”永久授权permanent”、”限时授权timelimit”和”单次授权
trial”三种授权方式,并且每次调用授权的程序使用时会实时判断授权的时效性,方便用户使用。
79.以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

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

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

相关文献

  • 日榜
  • 周榜
  • 月榜