keyring 库

目录

[安装 keyring](#安装 keyring)

基本用法

[1. 设置密码](#1. 设置密码)

[2. 获取密码](#2. 获取密码)

[3. 删除密码](#3. 删除密码)

[4. 返回当前使用的默认密钥环](#4. 返回当前使用的默认密钥环)

[5. 列出所有密码](#5. 列出所有密码)

支持的后端


keyring 是一个 Python 库,用于将敏感信息(如密码)安全地存储在操作系统的密码管理器中。它支持多种平台,如 Windows、macOS 和 Linux,通过调用系统的密钥链、钥匙串或密钥环来实现密码管理。

安装 keyring

python 复制代码
pip install keyring

#linux需安装keyrings.alt------面向无安装桌面的系统使用
pip3 install keyrings.alt
bash 复制代码
[root@localhost ~]# pip3 show keyrings.alt
Name: keyrings.alt
Version: 5.0.1
Summary: Alternate keyring implementations
Home-page: https://github.com/jaraco/keyrings.alt
Author: Jason R. Coombs
Author-email: [email protected]
License: 
Location: /usr/local/lib/python3.9/site-packages
Requires: jaraco.classes, jaraco.context
Required-by: 
[root@localhost ~]# cd ~/.local/share/python_keyring
[root@localhost python_keyring]# ll
total 4
-rw------- 1 root root 64 Jul 25 16:09 keyring_pass.cfg
[root@localhost python_keyring]# cat keyring_pass.cfg 
[yagmail]
2578515263_40qq_2ecom = 
	a3pwcmx1amRwbmtjZGpoYw==

基本用法

1. 设置密码

将密码保存到密钥环中:

python 复制代码
import keyring

# 保存密码
keyring.set_password('service_name', 'username', 'password')
  • service_name: 用于标识密码的服务名(例如 'my_service')。
  • username: 关联的用户名。
  • password: 要保存的密码。
2. 获取密码

从密钥环中检索密码:

python 复制代码
import keyring

# 获取密码
password = keyring.get_password('service_name', 'username')
print(password)
3. 删除密码

从密钥环中删除密码:

python 复制代码
import keyring

# 删除密码
keyring.delete_password('service_name', 'username')
4. 返回当前使用的默认密钥环

keyring.get_keyring()

bash 复制代码
import keyring
print(keyring.get_keyring())
5. 列出所有密码

列出存储在密钥环中的所有服务及其用户名(keyring 的某些后端支持此功能):

python 复制代码
import keyring

# 列出所有服务及其用户名
services = keyring.get_services()
print("Available services:", services)
for service in services:
    usernames = keyring.get_credential(service, None)
    print(f"Service: {service}, Usernames: {usernames}")

支持的后端

keyring 库可以与不同的密码存储后端集成:

  • Windows: 使用 Windows Credential Manager。
  • macOS: 使用 macOS Keychain。
  • Linux: 使用 Secret Service API,支持 GNOME Keyring 和 KWallet。
相关推荐
AI蜗牛之家28 分钟前
Qwen系列之Qwen3解读:最强开源模型的细节拆解
人工智能·python
whyeekkk1 小时前
python打卡第48天
开发语言·python
Eiceblue3 小时前
Python读取PDF:文本、图片与文档属性
数据库·python·pdf
weixin_527550403 小时前
初级程序员入门指南
javascript·python·算法
程序员的世界你不懂4 小时前
Appium+python自动化(十)- 元素定位
python·appium·自动化
CryptoPP4 小时前
使用WebSocket实时获取印度股票数据源(无调用次数限制)实战
后端·python·websocket·网络协议·区块链
树叶@4 小时前
Python数据分析7
开发语言·python
老胖闲聊5 小时前
Python Rio 【图像处理】库简介
开发语言·图像处理·python
码界奇点6 小时前
Python Flask文件处理与异常处理实战指南
开发语言·python·自然语言处理·flask·python3.11
浠寒AI6 小时前
智能体模式篇(上)- 深入 ReAct:LangGraph构建能自主思考与行动的 AI
人工智能·python