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