📅  最后修改于: 2023-12-03 15:37:27.595000             🧑  作者: Mango
在编写需要访问敏感信息的 Python 程序时,保护这些信息是非常重要的。其中一项保护措施是隐藏密码,使其不可见。
Python 中的 getpass 模块可用于在控制台中输入密码并进行掩盖。
import getpass
password = getpass.getpass()
print("Your password is:", password)
以上代码会提示用户输入密码,但是用户输入的内容会被隐藏,只有星号显示。getpass() 函数返回用户输入的内容。
将密码存储为环境变量是另一种常见的隐藏密码的方法。这样,密码不会明文储存在代码中,而是存在计算机的环境变量中。
import os
password = os.environ.get('PASSWORD')
print("Your password is:", password)
以上代码会从计算机的环境变量中获取名为 PASSWORD 的变量,并将其赋给 password 变量。为了保护密码,我们应该将密码保存在一个只有特定用户有权限访问的配置文件中,而不是直接保存在环境变量中。
keyring 是一个用于在 Python 中安全存储密码的库。它允许我们将密码保存在一个安全的密码管理器中,而不是以明文形式保存在代码中或计算机的环境变量中。
为了使用 keyring,我们需要安装它:
pip install keyring
接下来,我们可以使用以下代码将密码保存在密码管理器中:
import keyring
service_id = 'my_service'
username = 'my_username'
password = 'my_password'
keyring.set_password(service_id, username, password)
此代码将在密码管理器中为服务 ID(可以是您想要的任何名称)和用户名创建一个密码。
我们可以使用以下代码从密码管理器中检索密码:
import keyring
service_id = 'my_service'
username = 'my_username'
password = keyring.get_password(service_id, username)
print("Your password is:", password)
以上代码将从密码管理器中获取 Service ID 和用户名所对应的密码,并将其赋给 password 变量。必须输入已存在的 Service ID 和用户名,否则将引发 KeyError 异常。
以上是几种常见的在 Python 中隐藏密码的方法。请记住,无论您选择哪种方法,安全性比方便性更重要。请确保密码得到妥善保护,以免他人获得敏感信息。