本文介绍如何用cython加密单个python和一个目录下的所有python文件,将其转化为.so文件,增加安全性。
单个文件编译为.so
攻略可参考 Python编译成.so文件进行加密后调用
攻略中编译的方式经本人试验,应该是:
python complie.py build_ext
整个目录编译为.so
一般我们会有一整个工程目录的python需要加密,用单文件编译就有点力不从心了。这时候,我们就需要一个办法来编译整个目录的python代码。
找到一个好工具: py2so
使用方式:
python py2so.py -d /datatest_dir -m __init__.py -c
参数说明:
-d 需要转化的目录
-m 需要保留不做处理的文件 (保留__init__便于外部引用)
-c 清除原始的.py和.pyc文件
验证整个目录编译后效果
编写一段测试文件 test.py
内容与原先明文的python一致,同样是引用datatest_dir目录中的脚本函数
#!/usr/bin/python
#-*- coding: utf-8 -*-
import datatest_dir.testmain as p
p.main()
调用成功!与明文调用的结果一致!