欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

如何使用Cython對python代碼進(jìn)行加密

 更新時(shí)間:2020年07月08日 08:29:39   作者:Jruing  
這篇文章主要介紹了如何使用Cython對python代碼進(jìn)行加密,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

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

環(huán)境準(zhǔn)備

  • 系統(tǒng)環(huán)境: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,它會(huì)在encryption.py這個(gè)文件的當(dāng)前路徑下生成build文件夾,build/lib-*/Jruing-*.so (“*”部分代表的是Python版本等一系列信息,這個(gè)不重要,windows環(huán)境會(huì)在同樣的目錄下生成Jruing-*.pyd文件),我們可以把這個(gè)so文件直接重命名為Jruing.so

調(diào)用加密后的文件中的函數(shù)

我們進(jìn)入到so文件所在的目錄,編寫一個(gè)調(diào)用hello_world的程序

from Jruing import hello_world # Jruing為so文件的文件名
hello_world()

加密Flask Web服務(wù)

flask 文件一般會(huì)創(chuàng)建一個(gè)app對象,它啟動(dòng)也是通過這個(gè)app對象去啟動(dòng)的,直接加密會(huì)加密成功,但是執(zhí)行會(huì)出現(xiàn)問題,我們可以在調(diào)用文件中導(dǎo)入app對象,然后app.run()啟動(dòng)就可以了,具體操作如下

一個(gè)flask web服務(wù)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文件進(jìn)行加密

調(diào)用flask_demo_test.py啟動(dòng)服務(wù)

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

這樣就好了?。。?!

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • python包實(shí)現(xiàn)?retrying?重復(fù)回調(diào)操作

    python包實(shí)現(xiàn)?retrying?重復(fù)回調(diào)操作

    這篇文章主要介紹了python包實(shí)現(xiàn)?retrying?重復(fù)回調(diào)操作,文章python的相關(guān)資料展開對retrying?重復(fù)回調(diào)的詳細(xì)介紹,需要的小伙伴可以參考一下,希望對你的學(xué)習(xí)有所幫助
    2022-04-04
  • python如何對實(shí)例屬性進(jìn)行類型檢查

    python如何對實(shí)例屬性進(jìn)行類型檢查

    這篇文章主要為大家詳細(xì)介紹了python如何對實(shí)例屬性進(jìn)行類型檢查,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • 用Python實(shí)現(xiàn)給Word文檔蓋章

    用Python實(shí)現(xiàn)給Word文檔蓋章

    大家好,本篇文章主要講的是用Python實(shí)現(xiàn)給Word文檔蓋章,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-02-02
  • python數(shù)據(jù)可視化的那些操作你了解嗎

    python數(shù)據(jù)可視化的那些操作你了解嗎

    這篇文章主要為大家詳細(xì)介紹了python數(shù)據(jù)可視化操作,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-01-01
  • 在Python中合并字典模塊ChainMap的隱藏坑【推薦】

    在Python中合并字典模塊ChainMap的隱藏坑【推薦】

    在Python中,當(dāng)我們有兩個(gè)字典需要合并的時(shí)候,可以使用字典的 update 方法,接下來通過本文給大家介紹在Python中合并字典模塊ChainMap的隱藏坑,感興趣的朋友一起看看吧
    2019-06-06
  • Python入門_淺談for循環(huán)、while循環(huán)

    Python入門_淺談for循環(huán)、while循環(huán)

    下面小編就為大家?guī)硪黄狿ython入門_淺談for循環(huán)、while循環(huán)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-05-05
  • 使用Python將PDF文件轉(zhuǎn)存為圖片的代碼示例

    使用Python將PDF文件轉(zhuǎn)存為圖片的代碼示例

    因工作中的某些奇葩要求,需要將PDF文件的每頁內(nèi)容轉(zhuǎn)存成按順序編號(hào)的圖片,用第三方軟件或者在線轉(zhuǎn)換也可以,但批量操作還是Python方便,所以本文給大家介紹了使用Python將PDF文件轉(zhuǎn)存為圖片的方法,需要的朋友可以參考下
    2023-09-09
  • Python庫Theano深度神經(jīng)網(wǎng)絡(luò)的設(shè)計(jì)訓(xùn)練深入探究

    Python庫Theano深度神經(jīng)網(wǎng)絡(luò)的設(shè)計(jì)訓(xùn)練深入探究

    Theano是一個(gè)用于深度學(xué)習(xí)的Python庫,它提供了高效的數(shù)值計(jì)算和自動(dòng)微分功能,使得深度神經(jīng)網(wǎng)絡(luò)的設(shè)計(jì)和訓(xùn)練變得更加容易,本文將深入探討Theano的功能和用法,并提供豐富的示例代碼,幫助大家入門深度學(xué)習(xí)
    2024-01-01
  • 基于python實(shí)現(xiàn)的百度新歌榜、熱歌榜下載器(附代碼)

    基于python實(shí)現(xiàn)的百度新歌榜、熱歌榜下載器(附代碼)

    這篇文章主要介紹了基于python實(shí)現(xiàn)的百度新歌榜、熱歌榜下載器(附代碼),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-08-08
  • OpenCV半小時(shí)掌握基本操作之高斯雙邊

    OpenCV半小時(shí)掌握基本操作之高斯雙邊

    這篇文章主要介紹了OpenCV基本操作之高斯雙邊,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-09-09

最新評(píng)論