[发明专利]加密基于Python的风光预测算法文件的方法及装置有效
申请号: | 201911330200.2 | 申请日: | 2019-12-20 |
公开(公告)号: | CN111143877B | 公开(公告)日: | 2023-01-03 |
发明(设计)人: | 雍正;李华;夏全军;梁炎 | 申请(专利权)人: | 国能日新科技股份有限公司 |
主分类号: | G06F21/62 | 分类号: | G06F21/62;G06F21/64 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 张睿 |
地址: | 100096 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 加密 基于 python 风光 预测 算法 文件 方法 装置 | ||
本发明实施例提供一种加密基于Python的风光预测算法文件的方法及装置。其中,方法包括:将预先生成的密码校验代码植入风光预测算法文件中,以使得密码校验代码在用于实现风光预测算法的代码之前执行;将植入密码校验代码的风光预测算法文件编译为二进制动态库;其中,密码校验代码,用于对执行风光预测算法文件的设备进行校验。本发明实施例提供的加密基于Python的风光预测算法文件的方法及装置,通过将预先生成的密码校验代码植入风光预测算法文件中,对执行风光预测算法文件的设备进行校验,将植入密码校验代码的风光预测算法文件编译为二进制动态库,能防止风光预测算法文件被篡改、被逆向和被非法拷贝,能提高安全性。
技术领域
本发明涉及计算机技术领域,更具体地,涉及一种加密基于Python的风光预测算法文件的方法及装置。
背景技术
在风电/光伏功率预测领域,基于Python语言开发预测算法,生成风光预测算法文件越来越广泛。风光预测算法文件存储有基于Python语言的脚本,脚本用于实现风/光功率预测算法。由于Python语言具有易用性和脚本化执行等特点,不能通过传统手段有效的保护风光预测算法文件。由于Python脚本的明文可见性很容易造成代码泄露,甚至被恶意篡改而导致安全事故,带来巨大危害和经济损失。
现有针对Python脚本进行的加密方法主要包括三种。第一种是代码混淆方法,在各种脚本语言中最常用的手段,主要方法是将代码中所使用的函数名、类名、变量名转换成无意义的长名,在逻辑中随机插入无效代码。通过这种方式降低代码可读性,但实际上代码明文还是暴露在外的,逆混淆只是时间问题,依然不能防止被拷贝、篡改。第二种是生成可执行文件方法,利用pyinstaller或py2exe工具将源码打包成二进制可执行文件来达到代码不可见的目的,但随着这两种工具的发布同时也出现了针对这两种工具的逆向工具,可以很轻松的对生成的二进制文件逆向工程获取源码。并且,打包后的二进制可执行文件在运行时会在系统缓存目录生成.pyc,通过对此文件的反编译也可以获取源码。第三种是定制Python解释器方法,通过修改和重新编译Python解释器,使其只能执行加密后的Python脚本文件。这种方法必须重新部署一个自定制的Python环境,但在很多时候电力系统生产安全规范中不允许修改服务器的操作系统环境,通知加密后的脚本还是以明文方式存在,虽然不可读但还是可以修改导致无法正常运行。
综上,现有针对基于Python的风光预测算法文件进行加密的方法都存在安全性较差的不足。
发明内容
本发明实施例提供一种加密基于Python的风光预测算法文件的方法及装置,用以解决或者至少部分地解决现有技术存在的安全性较差的缺陷。
第一方面,本发明实施例提供一种加密基于Python的风光预测算法文件的方法,包括:
将预先生成的密码校验代码植入所述风光预测算法文件中,以使得所述密码校验代码在用于实现风光预测算法的代码之前执行;
将植入所述密码校验代码的所述风光预测算法文件编译为二进制动态库;
其中,所述密码校验代码,用于对执行所述风光预测算法文件的设备进行校验。
优选地,所述将预先生成的密码校验代码植入所述风光预测算法文件中之前,还包括:
根据预设的单向加密算法和合法设备的硬件信息,生成初始校验信息。
优选地,所述根据预设的单向加密算法和合法设备的硬件信息,生成初始校验信息,与所述将预先生成的密码校验代码植入所述风光预测算法文件中之间,还包括:
根据所述单向加密算法,生成所述密码校验代码。
优选地,所述将植入所述密码校验代码的所述风光预测算法文件编译为二进制动态库之后,还包括:
将所述二进制动态库和存储所述初始校验信息的文件进行打包。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国能日新科技股份有限公司,未经国能日新科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911330200.2/2.html,转载请声明来源钻瓜专利网。