1
我有一些我正在使用MYSQL數據庫進行錯誤記錄和設置存儲的腳本,並且我想要一種集中和安全地存儲MYSQL憑證以便在不同位置使用的方法在腳本中,但我不想保持連接打開(在腳本的開始處打開一次)。有沒有一個最佳做法或做一個'pythonic'的方式?Python:Mysql憑證的中央存儲
我有一些我正在使用MYSQL數據庫進行錯誤記錄和設置存儲的腳本,並且我想要一種集中和安全地存儲MYSQL憑證以便在不同位置使用的方法在腳本中,但我不想保持連接打開(在腳本的開始處打開一次)。有沒有一個最佳做法或做一個'pythonic'的方式?Python:Mysql憑證的中央存儲
class MyDB:
def __init__(sql_server,user,password):
self.server = sql_server
self.user = user
self.password = password
def __getattr__(self,key):
conn = MYSQLDB.connect(self.server,self.user,self.password)
val = getattr(conn,key)
conn.close()
return val
settings.py
db = MyDb(my_server,my_user,my_pass)
other_script.py
from settings import db
db.whatever()
#or
import settings
settings.db.do_something()
也許類似的東西......,只是繞過
該對象的問題是,你仍然會需要將程序中的服務器和憑據存儲在某處。有一些方法來掩蓋它,但沒有一個是好的。
A.使用簡單的編碼一樣的base64(不是真的加密,只是編碼)
B.使用某種加密庫。這是加密的,並且依賴於更難以破解的方法。不幸的是,您仍然需要嵌入程序中的密鑰(請參閱A或B以「加密」密鑰)
這可以存儲在單獨的文件中以供多個腳本參考嗎?我將如何參考它? – Butters
看到編輯應該爲你想要的工作 –
我認爲這可能會工作。讓我玩幾分鐘,給別人幾分鐘的回答。 – Butters