python代码加密
之前工作中需要使用到对python代码进行加密,因为许多核心代码设计到重要信息,不能暴露给客户。但是python作为一种脚本语言,既要保证运行部署方便又要考虑到代码破译的安全性问题。
编译加密
编译加密就是常见的将python代码编译成为以后缀.pyc的文件,虽然不影响使用与部署,但是可以被反编译,直接使用uncompyle库进行反编译即可得到结果
代码混淆
代码混淆在我之前的记录当中提起过,网站
优点:
- 简单
 - 不可逆
 - 不影响逻辑
 
缺点:
- 对于项目来说不友好
 - 混淆不可控
 - 逻辑依然可读
 
打包成exe文件
python可以使用pyinstaller将文件打包成exe文件,但是对于项目部署来说几乎全是缺点:
- 内部路径找不到
 - 资源文件不好打包
 - 部署使用麻烦
 - 难以控制
 
生成使用 Cython
它的原理:将 .py/.pyx 编译为 .c文件,再将 .c文件编译为 .so(Unix) 或 .pyd(Windows)
1  | pip install Cython  | 
优点:
- 不可逆
 - 不影响使用
 
缺点:
- 打包麻烦
 - 维护麻烦
 
PyArmor
这是一个python代码加密库,不影响项目结构进行加密,支持多种加密方式,部署也不受影响。但是不能调试!是当前觉得最好的加密方法,附上网站与教程
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 念念不忘,必有回响!










