gpt4 book ai didi

python - 如何更好地存储我的服务器凭据以用于 Python 部署脚本?

转载 作者:太空宇宙 更新时间:2023-11-04 06:43:03 25 4
gpt4 key购买 nike

基本上有一堆服务器部署脚本引用服务器凭证(例如用户名、密码)。目前,凭据存储在它们自己名为 server_info 的 python 模块内的 servers 字典中:

servers = {
'dev_server':{'server':'localhost', 'port':'80', 'username':'*********','password' : '*******'},
'staging_server':{'server':'www.google.com', 'port':'80', 'username':'********','password' : '***********'},
}

部署脚本导入此模块并按键引用凭据:

from server_info import servers 

server_creds = servers['dev_server']
update_server(server_creds['username'], server_creds['password'], server_creds['port'])

server_creds = servers['staging_server']
update_server(server_creds['username'], server_creds['password'], server_creds['port'])

单独的模块阻止在部署脚本中使用纯文本凭据,但在 server_info 模块中仍然存在纯文本。

如有任何关于如何更好地存储此敏感信息的建议,我们将不胜感激。欢迎所有想法,但寻找与平台无关的解决方案。

最佳答案

(可逆地)以某种方式对其进行编码,使其不再是明文...一些简单的示例是 rot13、base64、ceasar 密码,请记住,这些实际上是编码而不是加密,任何有足够倾向的人这样做会破坏它们....即使您使用实际加密,您也需要将 key 以明文形式存储在某处(尽管用户可以将 key 作为“通用”密码或其他内容输入)

通常是像

这样简单的事情
 old_data = open("server_info.py").read()
open("server_info_encoded.py","w").write(base64.b64encode(old_data))

然后在某个时候你将它拉入解码并将其解释为 json 字典

server_info = json.loads(base64.b64decode(open("server_info_encoded.py").read()))

关于python - 如何更好地存储我的服务器凭据以用于 Python 部署脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19435884/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com