欢迎访问宙启技术站
智能推送

了解Python中的keyring模块:存储和访问凭据

发布时间:2023-12-19 07:22:27

keyring是Python中的一个模块,用于存储和访问敏感凭据,如密码、API密钥等。它提供了一种安全、跨平台的方式来管理凭据,避免硬编码凭据存储在代码中,从而改善了代码的可维护性和安全性。

使用keyring模块的 步是安装,可以通过pip命令来安装:

pip install keyring

安装完成后,我们可以开始使用keyring模块。

首先,我们可以使用set_password函数来设置凭据。这个函数有三个参数:服务名称(可以是任意字符串,用于区分不同的服务),用户名(可以为空),密码(可以为空)。

import keyring

service_name = "my_service"
username = "my_username"
password = "my_password"

keyring.set_password(service_name, username, password)

通过上述代码,我们将服务名为"my_service"的用户名和密码存储在keyring中。

接下来,我们可以使用get_password函数来获取凭据。

import keyring

service_name = "my_service"
username = "my_username"

password = keyring.get_password(service_name, username)
print(password)

上述代码通过服务名和用户名从keyring中获取密码,并打印出来。

除了使用用户名作为参数之外,还可以使用keyring中的其他方法来获取凭据。

import keyring

service_name = "my_service"

credentials = keyring.get_credential(service_name)
print(credentials.username)
print(credentials.password)

上述代码通过服务名从keyring中获取凭据,并打印出用户名和密码。

keyring还提供了一些其他的方法来管理凭据,如删除凭据、列出存储的凭据等。下面是一些常用的示例代码:

import keyring

service_name = "my_service"
username = "my_username"

# 删除凭据
keyring.delete_password(service_name, username)

# 列出存储的凭据
credentials = keyring.get_all_credentials()
for service_name, username in credentials:
    print(service_name, username)

上述代码通过delete_password函数删除了指定的凭据,并通过get_all_credentials函数列出了存储在keyring中的所有凭据。

总而言之,keyring模块提供了一个简单且安全的方式来存储和访问敏感凭据。它可以帮助我们避免在代码中明文存储凭据,提高代码的可维护性和安全性。