国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

如何使用Cython對python代碼進行加密

瀏覽:54日期:2022-07-18 11:33:53

Cython是屬于PYTHON的超集,他首先會將PYTHON代碼轉化成C語言代碼,然后通過c編譯器生成可執行文件。優勢:資源豐富,適合快速開發。翻譯成C后速度比較快,在windows環境中用cython加密后的文件后綴是pyd文件,在linux環境中加密后的問題后綴是so文件,下面以linux環境作為演示

環境準備

系統環境:centos 7 Python版本:python3.x 需要的第三方包:cython

加密代碼部分

encryption.py

from distutils.core import setupfrom Cython.Build import cythonizesetup(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 Flaskapp = 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 Flaskapp = Flask(__name__)@app.route(’/’,methods=[’GET’])def root(): return 'hello world'

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

調用flask_demo_test.py啟動服務

from flask_demo_test import appapp.run(host=’127.0.0.1’,port=5000)

這樣就好了?。。。?/p>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 三台县| 太原市| 荃湾区| 开封市| 项城市| 扎兰屯市| 措勤县| 长海县| 壤塘县| 衡东县| 西和县| 鄯善县| 昌黎县| 博兴县| 武乡县| 遂溪县| 建德市| 长宁区| 六盘水市| 柘城县| 化隆| 昭通市| 彰化市| 曲松县| 稷山县| 嘉义市| 汕头市| 冷水江市| 邢台县| 奉节县| 合作市| 谷城县| 余干县| 阜南县| 和顺县| 鄱阳县| 四川省| 合江县| 临西县| 光泽县| 山西省|