本申请涉及数据安全,特别是涉及一种python微服务的防护方法、装置、计算机设备和存储介质。
背景技术:
1、随着软件开发技术的发展,python语言的应用越来越广泛,但是由于python语言是脚本解释语言,不需要编译即可直接以源码的形式运行,导致目前基于python语言开发的应用中,软件非常容易被破解和篡改,甚至不少黑客利用此机制对发布的软件进行病毒注入,造成基于python开发的微服务存在极大的安全性问题。
2、因此,目前基于python语言开发的应用中,由于python应用的发布以近乎源码的形式发布,因此应用包易被破解后泄露源码,从而侵害技术人员的相关权利。另外,软件病毒几乎没有任何阻碍即可破坏python应用,导致python应用发布后处于不可知、不可控状态,没有安全可言。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种python微服务的防护方法、装置、计算机设备和存储介质,通过将发布的文件不包含python源码,以避免python源码泄露,通过加密处理提高破解难度和安全性
2、本申请提供一种python微服务的防护方法,方法包括:
3、获取待处理的python微服务的源文件;
4、将源文件中的python源码转化成目标语言源码,获取第一中间文件;
5、对第一中间文件中的目标语言源码进行编译,获取第二中间文件;
6、利用加密算法对第二中间文件进行加密处理,获取第三中间文件;
7、利用预订的打包规则将所有第三中间文件进行打包处理,生成目标应用文件后,执行发布流程。
8、在其中一个实施例中,目标语言采用c语言;
9、将源文件中的python源码转化成目标语言源码,获取第一中间文件的步骤,包括:
10、利用python语言与其他程序语言之间的相互调用原则,对python源码进行c语言源码转化,将每一个python源文件转化为c语言源文件,以作为第一中间文件。
11、在其中一个实施例中,对第一中间文件中的目标语言源码进行编译,获取第二中间文件的步骤,包括:
12、利用c语言的编译规则,对第一中间文件中的c语言源码进行编译处理,生成.so结尾的二进制格式的第二中间文件。
13、在其中一个实施例中,加密算法包括国密sm4对称加密算法。
14、利用加密算法对第二中间文件进行加密处理,获取第三中间文件的步骤,包括:
15、利用国密sm4对称加密算法对第二中间文件进行加密处理,生成.som4结尾的第三中间文件。
16、在其中一个实施例中,方法还包括:
17、利用预设的启动脚本对目标应用文件进行解密处理,以将目标应用文件中的.som4结尾的第三中间文件全部解密为.so结尾的第二中间文件;
18、利用预设的python解释器加载第二中间文件,以启动目标应用文件。
19、在其中一个实施例中,启动脚本中配置有国密sm4对称解密算法;
20、利用预设的启动脚本对目标应用文件进行解密加载处理的步骤,包括:
21、获取目标应用文件的启动加载指令;
22、根据启动加载指令,利用国密sm4对称解密算法,对目标应用文件进行解密加载处理,以得到so结尾的第二中间文件;
23、利用预设的python解释器加载第二中间文件,以启动目标应用文件。
24、本申请提供一种python微服务的防护装置,装置包括:获取模块、转化模块、编译模块、加密模块以及打包模块;
25、获取模块,用于获取待处理的python微服务的源文件;
26、转化模块,用于将源文件中的python源码转化成目标语言源码,获取第一中间文件;
27、编译模块,用于对第一中间文件中的目标语言源码进行编译,获取第二中间文件;
28、加密模块,用于利用加密算法对第二中间文件进行加密处理,获取第三中间文件;
29、打包模块,用于利用预订的打包规则将所有第三中间文件进行打包处理,生成目标应用文件后,执行发布流程。
30、本申请提供一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现以下步骤:
31、获取待处理的python微服务的源文件;
32、将源文件中的python源码转化成目标语言源码,获取第一中间文件;
33、对第一中间文件中的目标语言源码进行编译,获取第二中间文件;
34、利用加密算法对第二中间文件进行加密处理,获取第三中间文件;
35、利用预订的打包规则将所有第三中间文件进行打包处理,生成目标应用文件后,执行发布流程。
36、本申请提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
37、获取待处理的python微服务的源文件;
38、将源文件中的python源码转化成目标语言源码,获取第一中间文件;
39、对第一中间文件中的目标语言源码进行编译,获取第二中间文件;
40、利用加密算法对第二中间文件进行加密处理,获取第三中间文件;
41、利用预订的打包规则将所有第三中间文件进行打包处理,生成目标应用文件后,执行发布流程。
42、上述python微服务的防护方法、装置、计算机设备和存储介质,通过将待处理的python微服务的源文件中的python源码转换成目标语言源码后,按照目标语言的编译规则编译处理,然后对编译后的文件进行加密打包处理,得到目标应用文件后,执行发布流程。目标应用文件中不含python源码,使得python源码的软件版权得以保护,python源码不会泄露,通过对编译后的文件进行加密处理,以提高目标应用文件的破解难度,并且打包生成的目标应用文件难以被篡改和或软件病毒注入,极大地提高了安全性。
1.一种python微服务的防护方法,其特征在于,所述方法包括:
2.根据权利要求1所述的python微服务的防护方法,其特征在于,所述目标语言采用c语言;
3.根据权利要求2所述的python微服务的防护方法,其特征在于,所述对第一中间文件中的目标语言源码进行编译,获取第二中间文件的步骤,包括:
4.根据权利要求3所述的python微服务的防护方法,其特征在于,所述加密算法包括国密sm4对称加密算法。
5.根据权利要求4所述的python微服务的防护方法,其特征在于,所述方法还包括:
6.根据权利要求5所述的python微服务的防护方法,其特征在于,所述启动脚本中配置有国密sm4对称解密算法;
7.一种python微服务的防护装置,其特征在于,所述装置包括:
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。