admin管理员组

文章数量:1575522

文章目录

  • 一、前言
  • 二、Python加密方法(基于Cython)
  • 三、Python代码加密及加密后的使用
    • 3.1 编写自己的代码
    • 3.2 制作setup文件
    • 3.3 生成.so(.pyd)文件
    • 3.4 使用.so(.pyd)文件
  • 四、Tips

一、前言

  不知道你是不是打工人,但笔者还是忍不住在文章开头叨叨两句。笔者最近挺烦躁,工作中辛辛苦苦做的算法和代码总被人觊觎(ps:虽然也没那么多技术含量),虽然笔者不想理他们,只想安安静静的搞项目,但也架不住有人想方设法的摘桃子,这也是我把这篇文章方法疑难杂症专栏的原因。怎么办?只能逆流而上了,来来来,加密搞起来,再来摘!?

二、Python加密方法(基于Cython)

  搜索了一下有几篇比较好的文章如何给Python代码进行加密,讲述了多种方法进行加密,笔者作为一只机械专业的哈士奇实在是看得迷迷糊糊的。
  索性看懂了Cython方法,并成功进行了尝试。它的基本原理是:首先将 .py文件 编译为 .c 文件,再将 .c 文件编译为 .so(Unix) 或 .pyd(Windows),其不仅可以提升性能,还能够让代码难以破解。最让人心动的是,其生成的.so(或.pyd)文件与.py文件一样,能够直接被python文件调用。下面我们来看看其是如何实现的吧!

三、Python代码加密及加密后的使用

3.1 编写自己的代码

class TEST:
    def hello():
        print('Hello CSDN!')

  注意编写完成后保存成TEST.py文件。

3.2 制作setup文件

from distutils.core import setup
from Cython.Build import cythonize
setup(ext_modules = cythonize(["TEST.py"]))

  注意编写完成后保存成setup.py文件,与TEST.py放到同一个夹子py_so中。

3.3 生成.so(.pyd)文件

  在cmd窗口中先进入py_so文件夹,再输入以下代码:

python setup.py build_ext

  则会生成以下文件:

  在bulid/lib.win-amd64-3.9中TEST.cp39-win_amd64.pyd即为加密后的文件。

3.4 使用.so(.pyd)文件

  进入TEST.cp39-win_amd64.pyd文件所在目录,执行以下python代码,可直接调用TEST类。

from TEST import TEST
TEST.hello()

四、Tips

  本篇文章至此完结,笔者依然有些愤愤不平,但是也不免有些感伤,在学习过程中,我们借鉴了多少人的代码、算法、文章,实在是应该放开胸襟,面向知识编程,可是群众里面有坏人啊!诸位,保护好自己的同时,尽量不忘初心吧!

本文标签: 易用代码简单方法Python