簡體   English   中英

在python模塊中封裝/隱藏秘密

[英]Encapsulate/hide a secret in a python module

目前我正在運行一個微服務,它執行一些轉換,涉及一個帶有字符串的秘密,它接收並返回新字符串。 所以數據通過網絡移動到函數。

但是,為了提高性能,如果函數涉及數據,則更可取。 最好有一個本地 python 模塊(我們在這里設置為 python)來執行轉換並且只在初始化時接收秘密。

那么現在的問題是:如何以某種方式存儲(臨時)秘密,模塊的用戶無法讀取它? 這不是一個強大的秘密,所以這里不需要花哨的加密。 但它應該防止用戶不費吹灰之力就閱讀它,因為python“私有”類變量允許。

由於用戶可能只是編輯模塊以攔截從網絡接收到的秘密,並查看它是如何訪問的,因此通過混淆它的存儲方式並沒有太多的安全方面的好處。

不管怎樣,如果你真的想這樣做,我建議你把它偷偷放到你的模塊之外的其他地方; 例如,您可以將它插入到像sys這樣的內置模塊的命名空間中……但同樣,當有人讀取您模塊的代碼(從 .py 或通過反編譯)時,他們將看到發生了什么。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM