Python的源码加密方案有很多,今天我们来介绍下通过将.py文件转为.pyc的方式来加密部署我们的Python项目,当然,.pyc的方式只是一种最基本的加密方式,这种方式比较容易被破解,当加密永无止境,我们只能根据具体场景和要求,逐级提高破解难度即可。此篇文字最终产出是一个脚本,此脚本运行后,会自动将.py文件转为.pyc文件,并将我们的源码进行打包成.zip文件。
我们来看下原理相关的知识点:Python解释器在执行代码的过程中,会首先生成.pyc文件,然后再解释执行.pyc中的内容,当然,解释器也能直接执行.pyc文件。
pyc文件是一个二进制的文件,是不具备可读性的
pyc文件拥有更快的加载速度,执行速度没有区别
pyc是一种跨平台的字节码,pyc的内容是跟python的版本相关的,不同版本编译后的pyc文件是不同的
那么我们要实现一个这样的脚本,需要有以下几个步骤:
第一步:将源码拷贝至指定目录下;
第二步:清理__pycache__已编译的文件;
第三步:将.py源文件编译成.pyc文件;
第四步:将.pyc文件移动到__pycache__文件夹之外
第五步:清理所有.py文件;
第六步:将文件夹压缩成zip文件;
我们将这个脚本起名为:encryptBaling.py,此脚本需要放着项目的根目录下,例如我们的项目目录结构如下:
项目目录结构下面我们逐步进行介绍:
01将源码拷贝至指定目录下
假设我们要将项目的源码打包到./diningpos下,目录中有server.py启动文件与app应用文件夹,我想需要做如下
拷贝项目源码02清理__pycache__已编译的文件,方便我们进行下一步
清理掉中间文件03将.py源文件编译成.pyc文件
这里主要使用