将python源程序编译为pyc或pyo字节码程序

本文介绍了如何将Python源代码编译为不可轻易读取的字节码文件.pyc和.pyo,以增强代码安全性。通过`py_compile`和`compileall`模块,使用python命令行工具进行单个或批量编译,并解释了编译选项如`-O`和`-OO`的作用。同时,文章提及了不同Python版本的字节码文件不兼容的问题。
摘要由CSDN通过智能技术生成
为了提高自己搭建的Django站点的安全性,将加密后的数据库连接信息以及加密使用的信息单独存放在了一个配置文件中,之后写了一个中间层来解密配置文件中的密文并用于站点应用连接数据库。虽然这样一种安全方式很初级,但起码比明文存放密码等敏感信息要好的多。

现在面临另外一个问题,因为最终密文形式的密码还是需要解密后才能使用的,上边提到的用于解密配置文件中的密文的中间层正是用于此目的。若恶意用户获取到了相关文件,很容易根据文件中的代码推测出加密使用的算法,也很容易获取的明文的密码,因此现在需要一种方式将python源代码转换成不能被“小人”轻易读取的文件形式。

怎么转换呢?其实通过将python源程序.py文件编译为字节码文件.pyc或.pyo就可以很好的达到上述目的(尽管这仍有可能被恶意着反编译为.py源文件,但至少算是有加强了一层防护,是无意的“君子”不至于这么轻松获取密码。)

那么该如何编译python源程序呢?

可以有多重形式:
python -m py_compile file.py #把单个.py文件编译为字节码文件
python -m py_compile /path/to/src/ #批量生成字节码文件,/path/to/src/是包含.py文件名的路径
python -m compileall file.py #把单个.py文件编译为字节码文件
python -m compileall /path/to/src/ #批量生成字节码文件,/path/to/src/是包含.py文件名的路径

或者:
python -O -m py_compile file.py
python -O -m py_compile /path/to/src/
python
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值