利用Cython对python代码进行加密

Cython是属于PYTHON的超集,他首先会将PYTHON代码转化成C语言代码,然后通过c编译器生成可执行文件。优势:资源丰富,适合快速开发。翻译成C后速度比较快,在windows环境中用cython加密后的文件后缀是pyd文件,在linux环境中加密后的问题后缀是so文件,下面以linux环境作为演示

环境准备

系统环境:centos 7

Python版本:python3.x

需要的第三方包:cython

加密代码部分

encryption.py

from distutils.core import setup

from Cython.Build import cythonize

setup(ext_modules = cythonize(["Jruing.py"])) # 列表中是要加密的文件名

要加密的代码部分

Jruing.py

def hello_world():

print("hello world!!!")

将以上代码保存为encryption.py,在命令行中输入python encryption.py build_ext,它会在encryption.py这个文件的当前路径下生成build文件夹,build/lib-*/Jruing-*.so (“*”部分代表的是Python版本等一系列信息,这个不重要,windows环境会在同样的目录下生成Jruing-*.pyd文件),我们可以把这个so文件直接重命名为Jruing.so

调用加密后的文件中的函数

我们进入到so文件所在的目录,编写一个调用hello_world的程序

from Jruing import hello_world # Jruing为so文件的文件名

hello_world()

加密Flask Web服务

flask 文件一般会创建一个app对象,它启动也是通过这个app对象去启动的,直接加密会加密成功,但是执行会出现问题,我们可以在调用文件中导入app对象,然后app.run()启动就可以了,具体操作如下

一个flask web服务Demo

flask_demo.py

from flask import Flask

app = Flask(__name__)

@app.route('/',methods=['GET'])

def root():

return "hello world"

if __name__ == '__main__':

app.run(host='127.0.0.1',port=5000)

在加密之前我们把它改为

flask_demo_test.py

from flask import Flask

app = Flask(__name__)

@app.route('/',methods=['GET'])

def root():

return "hello world"

用上面提到的方法对flask_demo_test.py文件进行加密

调用flask_demo_test.py启动服务

from flask_demo_test import app

app.run(host='127.0.0.1',port=5000)

这样就好了!!!!

python代码加密cython_利用Cython对python代码进行加密相关推荐

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

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

  2. cython加密代码python_利用Cython对python代码进行加密

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

  3. python画图代码-Python实战小程序利用matplotlib模块画图代码分享

    Python中的数据可视化 matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图.而且也可以方便地将它作为绘图控件. 实战小程序: ...

  4. 用python画图代码-Python实战小程序利用matplotlib模块画图代码分享

    Python中的数据可视化 matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图.而且也可以方便地将它作为绘图控件. 实战小程序: ...

  5. python转cython_用Cython加速Python到“起飞”(推荐)

    事先声明,标题没有把"Python"错打成"Cython",因为要讲的就是名为"Cython"的东西. Cython是让Python脚本支持 ...

  6. 将python编程为c_使用Cython为Python编写更快的C扩展

    在我们这个包含了 7 个 PyPI 库的系列文章中学习解决常见的 Python 问题的方法. Python 是当今使用最多的流行编程语言之一,因为:它是开源的,它有广泛的用途(例如 Web 编程.业务 ...

  7. excel python插件_如何利用Excel与Python制作PPT

    对外汉语课堂中需要制作PPT.有些PPT的版式是相对固定的,如果数量巨大的话,可以利用python的pptx插件,与excel相结合,制作PPT.完整工作流有些复杂,所以分为4个部分来说明. PPT准 ...

  8. python 大项目使用cython_提升6.75倍!利用Cython为Python代码加速

    全文共2012字,预计学习时长4分钟 图片来源:Unsplash 如果你曾经用Python编写过代码,可能会发现等待某些代码块执行的时间比预期要长.尽管可以通过一些方法提高其代码效率,但它的反应速度仍 ...

  9. python30行代码_仅利用30行Python代码来展示X算法

    假如你对数独解法感兴趣,你可能听说过精确覆盖问题.给定全集 X 和 X 的子集的集合 Y ,存在一个 Y 的子集 Y*,使得 Y* 构成 X 的一种分割. 这儿有个Python写的例子. X = {1 ...

最新文章

  1. 【C#】枚举_结构体_数组
  2. Ajax -get 请求
  3. C++文件操作的6种方式
  4. UIImageView圆角,自适应图片宽高比例,图片拉伸,缩放比例和图片缩微图
  5. 签到 数据库php,php与数据库的连接用法 (签到一)
  6. 今日恐慌与贪婪指数为93 贪婪程度有所缓解
  7. HTML5之美(转)
  8. 用python画玫瑰花-用python画一朵玫瑰花
  9. 应用 Valgrind 发现 Linux 程序的内存问题
  10. 不同尺寸SMA头介绍以及之间的区别
  11. 戏谈编程:那些程序员的级别陷阱,你遇到过吗
  12. 巨蟹座 vs 狮子座
  13. 最美的时光在飞逝,为什么还在努力的路上蹒跚?
  14. 通过Iconfont在线调用项目图标
  15. FFmpeg 使用命令整理 – 提取音频或视频、提取图片、格式转换等
  16. 2020年度英国商业大奖获奖名单公布
  17. mysql 42000 1064_mysql主从复制或其他操作报错ERROR 1064 (42000): You have an er
  18. MIPI DSI协议
  19. jQuery事件,对象以及插件
  20. php xampp linux,xampp linux 下载

热门文章

  1. 关于数据可视化的方法和工具介绍
  2. yarn install 遇到的错误消息 - Error EPERM operation not permitted, open .yarnrc
  3. Jerry在2020 SAP全球技术大会的分享:SAP Spartacus技术介绍的文字版
  4. SAP Cloud for Customer的CTI呼叫中心解决方案
  5. 一步步使用SAP云平台的WebIDE开发SAP UI5应用
  6. GUID generation RSS_SYSTEM_GET_UNIQUE_ID
  7. 使用脚手架应用做单元测试
  8. $$watcher when is it filled
  9. SAP CRM content management中文件下载的调试
  10. Marketing Cloud API消费entity unsupported format错误消息的处理