python代码加密以及python代码的License控制
本工程适用于,码农给别人开发项目的时候,防止别人拿到代码后未经授权随意复制代码到未经权授的机器上运行,同时还将代码加密防止别人窃取核心机密。
.os
文件,起到保护python代码的目的,防止别修改/查看你的Python源码。linux安装:
gcc
sudo apt-get install python-dev gcc
python安装第三方库
pycrypto
(注意:在win10环境下安装这个包可能会报错,解决办法见这里 )
Cython
pip install pycrypto Cython
TODO:将本工程下Example/
目录下的代码加密并进行license控制
sudo apt-get install python-dev gcc
, pip install Cython
License_control/CreateLicense.py
里的seperateKey
,aesKey
,aesIv
将Example/get_time.py
加密
将待加密脚本填写到Example/setup.py
中的变量key_funs
中,加密后会删除原文件,最好备份一下。
备份待加密的脚本
cp ./Example/get_time.py ./Example/get_time.py.bak
加密脚本,运行
cd Example/
python setup.py build_ext --inplace
程序运行成功的话会生成与.py
文件同名的.os
文件,加密完成
(即加密目标主机MAC地址)
/License_control/GetHostInfo.py
这个脚本获取目标主机的MAC地址:# 在目标主机执行以下程序, 会在控制台输出MAC地址
cd ./License_control
python GetHostInfo.py
CreateLicense.py
中的密钥:seperateKey
, aesKey
,和 aesIv
License_control/
路径下,将上面得到的MAC地址填到<MAC地址>
处
cd ../License_control/
python CreateLicense.py <MAC地址>
生成licese.lic,此即为MAC的加密文件。将此密文放到Example/
路径下。
mv license.lic ../Example/
cd ../Example/
python main.py