python源代码文件加密

方法: Cpython
优点: 生成的.so或.pyd文件难以破解。
缺点: 兼容性差,不同的操作系统,脚本可能要重新编译;部分函数不支持加密,这个时候想解决措施就比较艰难了。
实现: 将.py/.pyx编译成.c文件,再将.c文件编译成.so(UNIX)或.pyd(Windows)。
案例:
1) 编写文件 test.py,随后对这个文件加密:

def f(a,b):
    c=a+b
    print(c)

2) 编写 setup.py:

from distutils.core import setup
from Cython.Build import cythonize

setup(name='testhaha',
     ext_modules=cythonize('test.py'))

3)编译为 .c,再进一步编译为 .so 或 .pyd:

python setup.py build_ext --inplace

没有执行这一句的时候文件夹:
在这里插入图片描述
执行中:

在这里插入图片描述

执行后:
在这里插入图片描述
4)删掉多余的文件后:
在这里插入图片描述执行:

python -c "from test import f;f(4,5)"

在这里插入图片描述参考资料:


如何保护你的 Python 代码 (一)—— 现有加密方案

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值