在Python-cod中安全使用用户名和密码

2024-04-25 05:01:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用Python请求库调用一个需要Windows身份验证的API。在C中,我一直使用目录服务,这使得我可以避免在任何代码或配置中输入密码。从我在网上发现的情况来看,我在Python中唯一的选择就是在某处有一个密码。我有一个服务帐户,我将使用,但我需要安全地存储密码。在Python中安全地存储和检索服务帐户密码的最佳方法是什么?在

我当前使用的代码如下。在我的配置中,用户名和密码以明文形式存储:

auth = HttpNtlmAuth(
    config.ServiceAccount["Username"], 
    config.ServiceAccount["Password"]
    )

content = requests.post(call_string, json=parameters, auth=auth)

编辑:我应该指出这不是一个面向用户的应用程序。它将作为批处理作业运行。因此,在运行应用程序时,用户将无法输入用户名/密码。在


Tags: 方法代码目录auth身份验证apiconfig应用程序
2条回答

我知道我刚才问过这个问题,但是我找到了一个更好的NTLM/Windows身份验证解决方案。我使用requests_negotiate_sspi库来避免任何密码:

from requests_negotiate_sspi import HttpNegotiateAuth
auth = HttpNegotiateAuth()

content = requests.post(call_string, json=parameters, auth=auth)

您可以根本不存储密码,而要求用户在运行时提供密码

import getpass
user = getpass.getuser()
password = getpass.getpass()

否则,您可以执行类似git的操作,让用户将密码以明文形式存储在其主目录中的配置文件中,然后在运行时读取该文件。在

相关问题 更多 >