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

Python?使用?pyc?解決明文密鑰問題記錄

 更新時(shí)間:2023年07月06日 14:21:26   作者:Bing@DBA  
pyc 是 Python 經(jīng)過 compile 后的文件類型,一段 Python 代碼執(zhí)行前會(huì)先將 .py 文件編譯成 .pyc 文件它是一種字節(jié)碼 byte code,然后由 Python 虛擬機(jī)執(zhí)行,這篇文章主要介紹了Python使用pyc解決明文密鑰問題,需要的朋友可以參考下

前言

寫代碼過程中,可能遇到一些敏感信息不想明文暴露在代碼中的情況,本篇文章介紹使用 pyc 解決明文密鑰問題。

1. pyc 介紹

pyc 是 Python 經(jīng)過 compile 后的文件類型,一段 Python 代碼執(zhí)行前會(huì)先將 .py 文件編譯成 .pyc 文件它是一種字節(jié)碼 byte code,然后由 Python 虛擬機(jī)執(zhí)行。

相對(duì)于 .py 來講,.pyc 對(duì)源代碼有一定保護(hù)作用,提高了模塊加載速度和跨平臺(tái)性,但代碼執(zhí)行速度未得到提高。

在這里插入圖片描述

2. py 代碼編譯

2.1 使用命令行編譯

此時(shí)目錄下有一個(gè) 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__

編譯完成后會(huì)在當(dāng)前目錄生成 pycache 目錄,里面保存的就是編譯后的文件。

2.2 使用代碼編譯

# 目錄下所有 py 文件進(jìn)行編譯
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)建密鑰存儲(chǔ)代碼文件

創(chuàng)建 get_token.py 文件,創(chuàng)建 get_token_code 函數(shù) return 密鑰:

def get_token_code():
    return '727241fa-1ba7-11ee-9601-fab7dbe5cd00'

3.2 編譯密鑰代碼

編譯完成后會(huì)存儲(chǔ)到 pycache 目標(biāo)中:

python3 -m py_compile get_token.py 

進(jìn)入 pycache 目標(biāo),將 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)用密鑰代碼

此時(shí)密鑰存儲(chǔ)在 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ā)并實(shí)時(shí)同步到服務(wù)器

    使用pycharm在本地開發(fā)并實(shí)時(shí)同步到服務(wù)器

    這篇文章主要介紹了使用pycharm在本地開發(fā)并實(shí)時(shí)同步到服務(wù)器,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • python實(shí)現(xiàn)rsa加密實(shí)例詳解

    python實(shí)現(xiàn)rsa加密實(shí)例詳解

    這篇文章主要介紹了python實(shí)現(xiàn)rsa加密實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-07-07
  • python實(shí)現(xiàn)區(qū)間合并的方法

    python實(shí)現(xiàn)區(qū)間合并的方法

    區(qū)間合并是指將重疊的區(qū)間合并為一個(gè)或多個(gè)不重疊的區(qū)間,本文主要介紹了python實(shí)現(xiàn)區(qū)間合并的方法,文中通過代碼介紹的很詳細(xì),感興趣的可以了解一下
    2024-02-02
  • pytorch 多個(gè)反向傳播操作

    pytorch 多個(gè)反向傳播操作

    這篇文章主要介紹了pytorch 多個(gè)反向傳播操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-05-05
  • Python一行代碼實(shí)現(xiàn)打開各種類型的文件

    Python一行代碼實(shí)現(xiàn)打開各種類型的文件

    在處理大量文件時(shí),手動(dòng)一個(gè)個(gè)打開是不是很麻煩,這時(shí)候,Python的os.startfile()就是你的救星啦,本文我們就來看看如何一行代碼打開各種類型的文件吧
    2024-12-12
  • python+requests接口壓力測試500次,查看響應(yīng)時(shí)間的實(shí)例

    python+requests接口壓力測試500次,查看響應(yīng)時(shí)間的實(shí)例

    這篇文章主要介紹了python+requests接口壓力測試500次,查看響應(yīng)時(shí)間的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • python數(shù)據(jù)可視化之初探?Seaborn

    python數(shù)據(jù)可視化之初探?Seaborn

    Seaborn?是一個(gè)基于?Matplotlib?的?Python?數(shù)據(jù)可視化庫,它提供了更高級(jí)別的接口,使得創(chuàng)建美觀的統(tǒng)計(jì)圖形變得非常簡單,在這篇文章中,我們將討論?Seaborn?的基礎(chǔ)使用方法,包括如何創(chuàng)建各種常見的統(tǒng)計(jì)圖形
    2023-07-07
  • Python+wxPython實(shí)現(xiàn)文件名批量處理

    Python+wxPython實(shí)現(xiàn)文件名批量處理

    在日常的文件管理中,我們經(jīng)常需要對(duì)文件進(jìn)行批量處理以符合特定的命名規(guī)則或需求,本文主要介紹了如何使用wxPython進(jìn)行文件夾中文件名的批量處理,需要的可以參考下
    2024-04-04
  • Python 繪制?;鶊D全面解析

    Python 繪制桑基圖全面解析

    ?;鶊D,即桑基能量分流圖,也叫桑基能量平衡圖。它是一種特定類型的流程圖,圖中延伸的分支的寬度對(duì)應(yīng)數(shù)據(jù)流量的大小,通常應(yīng)用于能源、材料成分、金融等數(shù)據(jù)的可視化分析。試了一下用python畫桑基圖,在這里整理了一下分享給大家
    2021-09-09
  • Python第三方庫qrcode或MyQr生成博客地址二維碼

    Python第三方庫qrcode或MyQr生成博客地址二維碼

    使用第三方庫qrcode或者M(jìn)yQr給自己的博客網(wǎng)址快速生成二維碼,一鍵分享,文中含有詳細(xì)示例代碼,有需要的朋友可以借鑒參考下,希望能夠有所幫助
    2021-10-10

最新評(píng)論