python代码加密cython_利用Cython对python代码进行加密
利用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代码进行加密相关推荐
- python代码加密cython_利用Cython加密python脚本
由于 Python 的动态特性和开源特点,导致 Python 代码很难做到很好的加密.社区中的一些声音认为这样的限制是事实,应该通过法律手段而不是加密源码达到商业保护的目的:而还有一些声音则是不论如何 ...
- cython加密代码python_利用Cython对python代码进行加密
利用Cython对python代码进行加密 Cython是属于PYTHON的超集,他首先会将PYTHON代码转化成C语言代码,然后通过c编译器生成可执行文件.优势:资源丰富,适合快速开发.翻译成C后速 ...
- python画图代码-Python实战小程序利用matplotlib模块画图代码分享
Python中的数据可视化 matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图.而且也可以方便地将它作为绘图控件. 实战小程序: ...
- 用python画图代码-Python实战小程序利用matplotlib模块画图代码分享
Python中的数据可视化 matplotlib 是python最著名的绘图库,它提供了一整套和matlab相似的命令API,十分适合交互式地进行制图.而且也可以方便地将它作为绘图控件. 实战小程序: ...
- python转cython_用Cython加速Python到“起飞”(推荐)
事先声明,标题没有把"Python"错打成"Cython",因为要讲的就是名为"Cython"的东西. Cython是让Python脚本支持 ...
- 将python编程为c_使用Cython为Python编写更快的C扩展
在我们这个包含了 7 个 PyPI 库的系列文章中学习解决常见的 Python 问题的方法. Python 是当今使用最多的流行编程语言之一,因为:它是开源的,它有广泛的用途(例如 Web 编程.业务 ...
- excel python插件_如何利用Excel与Python制作PPT
对外汉语课堂中需要制作PPT.有些PPT的版式是相对固定的,如果数量巨大的话,可以利用python的pptx插件,与excel相结合,制作PPT.完整工作流有些复杂,所以分为4个部分来说明. PPT准 ...
- python 大项目使用cython_提升6.75倍!利用Cython为Python代码加速
全文共2012字,预计学习时长4分钟 图片来源:Unsplash 如果你曾经用Python编写过代码,可能会发现等待某些代码块执行的时间比预期要长.尽管可以通过一些方法提高其代码效率,但它的反应速度仍 ...
- python30行代码_仅利用30行Python代码来展示X算法
假如你对数独解法感兴趣,你可能听说过精确覆盖问题.给定全集 X 和 X 的子集的集合 Y ,存在一个 Y 的子集 Y*,使得 Y* 构成 X 的一种分割. 这儿有个Python写的例子. X = {1 ...
最新文章
- 【C#】枚举_结构体_数组
- Ajax -get 请求
- C++文件操作的6种方式
- UIImageView圆角,自适应图片宽高比例,图片拉伸,缩放比例和图片缩微图
- 签到 数据库php,php与数据库的连接用法 (签到一)
- 今日恐慌与贪婪指数为93 贪婪程度有所缓解
- HTML5之美(转)
- 用python画玫瑰花-用python画一朵玫瑰花
- 应用 Valgrind 发现 Linux 程序的内存问题
- 不同尺寸SMA头介绍以及之间的区别
- 戏谈编程:那些程序员的级别陷阱,你遇到过吗
- 巨蟹座 vs 狮子座
- 最美的时光在飞逝,为什么还在努力的路上蹒跚?
- 通过Iconfont在线调用项目图标
- FFmpeg 使用命令整理 – 提取音频或视频、提取图片、格式转换等
- 2020年度英国商业大奖获奖名单公布
- mysql 42000 1064_mysql主从复制或其他操作报错ERROR 1064 (42000): You have an er
- MIPI DSI协议
- jQuery事件,对象以及插件
- php xampp linux,xampp linux 下载
热门文章
- 关于数据可视化的方法和工具介绍
- yarn install 遇到的错误消息 - Error EPERM operation not permitted, open .yarnrc
- Jerry在2020 SAP全球技术大会的分享:SAP Spartacus技术介绍的文字版
- SAP Cloud for Customer的CTI呼叫中心解决方案
- 一步步使用SAP云平台的WebIDE开发SAP UI5应用
- GUID generation RSS_SYSTEM_GET_UNIQUE_ID
- 使用脚手架应用做单元测试
- $$watcher when is it filled
- SAP CRM content management中文件下载的调试
- Marketing Cloud API消费entity unsupported format错误消息的处理