為你的Python程式加密
在實際的工作中,有時候我們需要部署自己的Python應用,但這時候我們並不希望別人能夠看到自己的Python源程式。因此,我們需要為自己的原始碼進行加密,Python已經為我們提供了這樣一套工作機制。
第一種加密Python原始碼的方式,是將.py檔案轉化為.pyc檔案,但這種加密方式很容易被反編譯,因此實用性並不高。
第二種加密Python原始碼的方式,是將.py檔案轉化為.so檔案,這樣加密的可靠性非常高,無法被被人破解,也就很好地保護了原始碼。
本文以Linux系統(Ubuntu)為例,講解如何將自己的Python程式(.py檔案)加密為.so檔案。
首先,我們需要在Ubuntu系統中安裝一些準備工具,包括python3-dev,gcc,Cython,其中Cython為Python的第三方模組。安裝的命令如下:
接著,我們新建pythontest資料夾,用於測試我們的程式碼,資料夾的內容如下:
其中,mytest.py為我們需要加密的Python程式,setup.py為加密的指令碼。mytest.py的程式碼如下:
加密指令碼setup.py的程式碼如下:
測試程式碼so_test.py的程式碼如下:
切換至pythontest資料夾,先執行so_test.py指令碼(為了顯示時間,便於跟後面的程式區分),再執行setup.py對mytest.py程式加密,命令如下:
輸出如下:
執行完加密命令列(python3 setup.py build_ext)後,資料夾中的檔案如下:
在build資料夾中,有我們需要的so檔案,如下:
生成的so檔案一方面對我們的源程式進行了加密,另一方面,我們還能繼續呼叫原來的mytest.py檔案中的內容。為了驗證此功能,我們先刪除mytest.py,再執行so_test.py檔案,如下:
可以發現,我們刪除了mytest.py檔案,即原始碼,但so_test.py檔案可以正常呼叫源程式的內容,這是因為,兩次執行so_test.py的輸出時間不一樣。
總結:在實際的工作中,我們可以按照上面的方法將.py程式加密為.so檔案,當然也可以寫個指令碼實現更復雜的功能。本次的文章僅作為展示,希望能夠給讀者一些啟發~
相關文章
- python程式程式碼這樣加密保護,你覺得可以嗎?Python加密
- Python程式py程式碼加密方法Python加密
- Python 程式碼混淆和加密技術Python加密
- Python程式碼混淆工具,Python原始碼保密、加密、混淆Python原始碼加密
- Cython加密python程式碼防止反編譯加密Python編譯
- Python入門知識彙總,程式設計小白的福利,為你開啟Python大門Python程式設計
- 防止程式碼被竊取,Python程式碼加密常用方案Python加密
- 20 行 Python 程式碼實現加密通訊Python加密
- Python 的加密庫入門Python加密
- 用位運算為你的程式加速
- 你以為你以為的就是你以為的嗎
- 你們以為的女程式設計師程式設計師
- PyInstaller打包Python程式為exePython
- Python中hash加密Python加密
- Python加密word文件Python加密
- 你所以為的不是你以為的
- Chrome擴充套件程式可偷偷竊取你的加密貨幣私鑰Chrome套件加密
- 用pyinstaller打包你的Python程式並繫結CPUPython
- 使用這個 Python 程式記錄你的活動Python
- 用 PyPy 讓你的 Python 程式碼執行得更快!Python
- 為什麼你寫的程式碼糟透了?
- 帶你真正的瞭解加密和Hash加密
- nuitka: Python程式碼打包為exeUIPython
- Pylint:讓你的 Python 程式碼保持一致Python
- 學習 27 門程式語言的長處,提升你的 Python 程式碼水平Python
- 如何用雲端 GPU 為你的 Python 深度學習加速?GPUPython深度學習
- 為你的 Python 平臺類遊戲新增跳躍功能Python遊戲
- 教你一步步扣程式碼解出你需要找到的加密引數加密
- 你構建的程式碼為什麼這麼大
- python程式設計師告訴你,python怎麼學?13個特性帶你快速瞭解pythonPython程式設計師
- 帶你入門比Python更高效的Numpy(附程式碼)Python
- 立竿見影地把你的 Python 程式碼提速7倍Python
- Python AES 加密和解密(qbit)Python加密解密
- python AES-CBC 加密解密Python加密解密
- 專為Python初學者準備的IDE你用過嗎?PythonIDE
- 上海的房租有多高?我用Python爬蟲為你揭曉Python爬蟲
- 為什麼你學不好程式設計程式設計
- Python讓你成為AI繪畫大師,簡直太驚豔了!(附程式碼)PythonAI