Python?使用?pyc?解決明文密鑰問題記錄
前言
寫代碼過程中,可能遇到一些敏感信息不想明文暴露在代碼中的情況,本篇文章介紹使用 pyc 解決明文密鑰問題。
1. pyc 介紹
pyc 是 Python 經(jīng)過 compile 后的文件類型,一段 Python 代碼執(zhí)行前會先將 .py 文件編譯成 .pyc 文件它是一種字節(jié)碼 byte code,然后由 Python 虛擬機執(zhí)行。
相對于 .py 來講,.pyc 對源代碼有一定保護作用,提高了模塊加載速度和跨平臺性,但代碼執(zhí)行速度未得到提高。
2. py 代碼編譯
2.1 使用命令行編譯
此時目錄下有一個 hello.py
文件,代碼內(nèi)容是打印圓周率:
>>>># ls pi.py
執(zhí)行下 pi.py
[root@db4 test]# python3 pi.py 3.14159265359
編譯:
python3 -m py_compile pi.py [root@db4 test]# ls pi.py __pycache__
編譯完成后會在當前目錄生成 pycache 目錄,里面保存的就是編譯后的文件。
2.2 使用代碼編譯
# 目錄下所有 py 文件進行編譯 import compileall compileall.compile_dir('./') # 單文件編譯 import py_compile py_compile.compile('pi.py')
cat 看的話就是一堆亂碼:
?(?d&?@sddlZejZee?dS)?N)ZmathZpi?val?print?rr?pi.py<module>
3. 避免名為密鑰案例
3.1 創(chuàng)建密鑰存儲代碼文件
創(chuàng)建 get_token.py 文件,創(chuàng)建 get_token_code 函數(shù) return 密鑰:
def get_token_code(): return '727241fa-1ba7-11ee-9601-fab7dbe5cd00'
3.2 編譯密鑰代碼
編譯完成后會存儲到 pycache 目標中:
python3 -m py_compile get_token.py
進入 pycache 目標,將 get_token.cpython-39.pyc
改名為 get_token.pyc
然后 mv 到代碼目錄。
mv get_token.cpython-39.pyc ../get_token.pyc
然后刪除 get_token.py 文件。
3.3 調(diào)用密鑰代碼
此時密鑰存儲在 get_token.pyc
文件,創(chuàng)建新代碼文件調(diào)用它:
from get_token import get_token_code print(get_token_code())
打印結(jié)果:
727241fa-1ba7-11ee-9601-fab7dbe5cd00
到此這篇關(guān)于Python 使用 pyc 解決明文密鑰問題的文章就介紹到這了,更多相關(guān)Python明文密鑰內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用pycharm在本地開發(fā)并實時同步到服務(wù)器
這篇文章主要介紹了使用pycharm在本地開發(fā)并實時同步到服務(wù)器,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-08-08python+requests接口壓力測試500次,查看響應(yīng)時間的實例
這篇文章主要介紹了python+requests接口壓力測試500次,查看響應(yīng)時間的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-04-04python數(shù)據(jù)可視化之初探?Seaborn
Seaborn?是一個基于?Matplotlib?的?Python?數(shù)據(jù)可視化庫,它提供了更高級別的接口,使得創(chuàng)建美觀的統(tǒng)計圖形變得非常簡單,在這篇文章中,我們將討論?Seaborn?的基礎(chǔ)使用方法,包括如何創(chuàng)建各種常見的統(tǒng)計圖形2023-07-07Python+wxPython實現(xiàn)文件名批量處理
在日常的文件管理中,我們經(jīng)常需要對文件進行批量處理以符合特定的命名規(guī)則或需求,本文主要介紹了如何使用wxPython進行文件夾中文件名的批量處理,需要的可以參考下2024-04-04Python第三方庫qrcode或MyQr生成博客地址二維碼
使用第三方庫qrcode或者MyQr給自己的博客網(wǎng)址快速生成二維碼,一鍵分享,文中含有詳細示例代碼,有需要的朋友可以借鑒參考下,希望能夠有所幫助2021-10-10