文章目录

  • 一、前言
  • 二、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代码加密方法(基于Cython)相关推荐

  1. python代码加密cython_利用Cython对python代码进行加密

    利用Cython对python代码进行加密 Cython是属于PYTHON的超集,他首先会将PYTHON代码转化成C语言代码,然后通过c编译器生成可执行文件.优势:资源丰富,适合快速开发.翻译成C后速 ...

  2. python代码加密cython_利用Cython加密python脚本

    由于 Python 的动态特性和开源特点,导致 Python 代码很难做到很好的加密.社区中的一些声音认为这样的限制是事实,应该通过法律手段而不是加密源码达到商业保护的目的:而还有一些声音则是不论如何 ...

  3. python代码加密cython_python通过cython实现加密

    #coding=utf-8 import getopt import os, sys import zipfile from Crypto.Cipher import AES import rando ...

  4. 如何防止你的代码被窃取?Python代码加密方案汇总(带实例验证)

    Python代码加密方案汇总 文章目录 Python代码加密方案汇总 需求描述 基础:Python文件格式 `.py` python源代码 `.pyc` 编译得到的字节码文件 `.pyo` 编译优化后 ...

  5. Python代码加密混淆

    python作为一种解释型语言,源代码加密本身比较困难.但有时候我们在发布一款python产品时又必须考虑到代码的加密性,以避免源代码泄露.为此,我查阅了一些资料,研究了几种python代码加密的常见 ...

  6. 【python】python代码加密与License控制

    背景 在一些使用python的商业项目上,开发人员不想被用户看到源代码时,就需要对python代码进行加密:进一步地,如果想限制用户只能在获得授权的机器上运行你写的代码时(利益相关),就需要使用Lic ...

  7. python代码加密--pyinstaller

    python代码加密需要安装pyinstaller 包 不同系统安装方法 一.windows环境下: 1.安装pyinstaller pip install pyinstaller==3.6.0 2. ...

  8. Python代码加密方案

    Python代码加密方案 方案1:使用Pyarmor工具进行加密 PyArmor 是一个用于加密和保护 Python 脚本的工具.它能够在运行时刻保护 Python脚本的二进制代码不被泄露,设置加密后 ...

  9. Python代码加密:py文件转pyd文件

    目前使用python语言比较多,尤其是深度学习项目,但是使用python加密比较麻烦,前期接触过几种加密的方案,但是效果都不理想,现在有一种思路比较靠谱:python原文件转pyd,然后用加密狗加密p ...

  10. python 代码加密

    Python代码加密步骤 1.准备文件 main.py为要加密的主脚本 import sys from PyQt5.QtWidgets import QApplication, QWidgetdef ...

最新文章

  1. 【java】java自带的java.util.logging.Logger日志功能
  2. 廖的python教程_廖雪峰的Python3.x教程.pdf
  3. Spring MVC HttpMessageConverter对象
  4. 函数调用关系图如何画_乌鲁木齐126中一校三址关系图出炉!佳源和绿谷应该如何选择?...
  5. Curator实现分布式锁的基本原理-getTheLock
  6. leetcode 357. Count Numbers with Unique Digits | 357. 计算各个位数不同的数字个数(Java)
  7. 涨姿势:Java 异常?尝试自定义异常
  8. mysql文件脱机_SQL数据库的脱机与联机操作
  9. burp intruder爆破出现 Payload set 1: Invalid number settings的解决办法
  10. 【属性对比】defer 与 async
  11. linux system查看内存占用,Linux查看系统内存占用
  12. 第四季-专题9-Linux驱动开发前奏
  13. 51nod--1212 最小生成树
  14. lecture 5:Policy Optimization 1
  15. Linux命令篇之tree命令和touch命令
  16. JAVA 7 正式版发布 新特性一览表
  17. mysql varbinary 转换_mysql binary和varbinary存储字段转换大小写
  18. 从键盘上输入以下的数据:TOM:89|JERRY:90|TONY:95,数据格式为“姓名:成绩|姓名:成绩|姓名:成绩”,对输入的内容按成绩进行排序,并将结果按成绩由高到低排序。
  19. 手机端上传图片出现“没有应用可执行操作”
  20. css写七步诗,兄弟情谊的诗句

热门文章

  1. Elasticsearch:IP 数据类型及其搜索
  2. rational rose导出sql脚本
  3. 联想微型计算机m4350q升级,拆解:高度集成化的联想M4350q
  4. 获取webshell的方法
  5. wps出现安装installer_我安装WPS2002时显示,该计算机缺少installscript引擎,请运行i
  6. 编写VTK文件,导入paraview显示
  7. rfid破解 BLE Hacking
  8. 影响力最大化——CELF算法的简介与python实现
  9. mysql怎么没有中文手册_mysql 中文手册
  10. 【HUSTOJ】1054: 字符图形10-字母三角