利用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)

这样就好了!!!!

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

  1. python做病毒传播的空间数据_利用4行Python代码监测每一行程序的运行时间和空间消耗...

    Python是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言,其具有高可扩展性和高可移植性,具有广泛的标准库,受到开发者的追捧,广泛应用于开发运维(DevOps).数据科学.网站开发和安 ...

  2. 温度转换python代码解释_如何用python代码温度转换?

    如何用python代码温度转换? 用python代码温度转换的方法: 步骤一:分析问题的计算部分 步骤二:确定功能,使用IPO方法进一步分析 输入:华氏或者摄氏温度值.温度标识 处理:温度转化算法 输 ...

  3. python 按钮更改输入框的值_利用 50 行 Python 代码构建一个在线文本生成器!

    本指南将引导你学习构建一个自动完成任意输入文本的Web应用程序. 作者 | Dev Sharma译者 | 苏本如,责编 | 郭芮出品 | CSDN(ID:CSDNnews) 以下为译文: 在本文中,我 ...

  4. 快速傅里叶变换python_快速傅里叶变换及python代码实现

    一.前言 我想认真写好快速傅里叶变换(Fast Fourier Transform,FFT),所以这篇文章会由浅到细,由窄到宽的讲解,但是傅里叶变换对于寻常人并不是很容易理解的,所以对于基础不牢的人我 ...

  5. python代码技巧_让你python代码更快的3个小技巧

    大家好!今天呢,我们来聊一聊如何加速你的 python 代码. Python 语言的优点可以列举出许多,语法简单易懂.模块丰富.应用广泛等等.但是世界上没有有完美的东西,python 一个明显缺点就是 ...

  6. python脚本加密_教你如何基于python实现脚本加密

    这篇文章主要介绍了如何基于python实现 脚本加密,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 from pathlib import Path ...

  7. python测试代码与模块_测量Python代码运行时间

    Python 社区有句俗语: "python自己带着电池" ,别自己写计时框架. Python 2.3 具备一个叫做 timeit 的完美计时工具可以测量python代码的运行时间 ...

  8. 什么叫python代码的优化_优化Python代码

    如果你的问题是关于优化python代码(我认为应该是这样),那么你可以做各种各样的intesting的事情,但是首先: 你可能不应该痴迷于优化python代码!如果您正在使用最快的算法来解决问题,并且 ...

  9. python代码去马赛克_十行python代码教你如何去除万恶的,如s一样的马赛克

    世界上有一种东西,叫作马赛克,不知道困扰了多少痴男怨女.小编新get到一个技能,忍不住拿出来秀一秀. 小编这几天的了解其实水印和马赛克的原理是一样的,都是覆盖.一般是去不了的,那么这个技术来了,请看~ ...

最新文章

  1. 【Java源码分析】Vector源码分析
  2. python3爬虫实例代码-Python3爬虫带上cookie的实例代码
  3. wps 模拟分析 规划求解_Excel数据分析两大利器,趋势预测与规划求解
  4. 数据库---主键约束
  5. 小孔成像实验探究的软件_小孔成像法观察日食
  6. 图片轮播器(swift)
  7. 短信开发的PDU格式
  8. Boostrap Table学习笔记
  9. java小游戏源码_分享几款java小游戏源码
  10. 【R语言】地图信息数据可视化
  11. Python基础 -- 注释、变量以及数据类型、标识符和关键字、类型转、运算符
  12. Unity新手开发VR项目
  13. vs打开别人cpp_和女朋友定了间主题酒店,结果打开门后崩溃了...哈哈哈哈哈照片xswl!...
  14. 【小白】【新手向】Hexo+Github搭建个人博客
  15. 服务器地址怎么查 如何远程登录服务器教程
  16. 【转载】R语言dplyr包学习笔记(吐血整理宇宙无敌详细版)
  17. Python 哈希函数
  18. python计算协方差矩阵_在Python中构建协方差矩阵
  19. 视觉语言如何准确的表达
  20. A Java Runtime Environment (JRE) or Java Development Kit (JDK)...

热门文章

  1. 正则只能出现特定字符_python正则表达式的简单使用总结
  2. linux cpu核数和线程数,cpu个数、核数和线程的理解
  3. 生成的头_Python爬虫偷懒神器!快速一键生成Python爬虫请求头
  4. 电子工程可以报考二建_非工程类专业也能报考二建吗?
  5. 计算机二级公共,计算机二级公共基础知识
  6. matlab 价格统计,matlab中的金融数据统计
  7. 关于python语言和人工智能下哪个说法不正确_“在资源管理器”窗口中,文件夹图标左侧有“...
  8. jdbc连接数据scanip_JDBC连接数据库的四种方式:DriverManager,DataSource,DBCP,C3P0
  9. 织梦php网站修改教程,织梦DEDEcms织梦软件模型增加图集功能教程(含修改文件下载)...
  10. android mqtt详解_Android mqtt入门 Android studio(转)