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: jaraco@jaraco.com
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。
相关推荐
E_ICEBLUE4 小时前
Python 拆分 Excel 文件:使用 Spire.XLS 实现按工作表、行、列和条件拆分
python·excel
aiqianji4 小时前
有哪些稳定的AI短篇小说写作软件可以推荐?
人工智能·python
Ulyanov4 小时前
Python雷达电子对抗仿真引擎(一):打破单体瓶颈,构建微服务与ECS架构的顶层设计
开发语言·python·微服务·云原生·架构·雷达电子对抗
蓝创工坊Blue Foundry5 小时前
批量提取图片中的数字:怎样整理成一张可核对的 Excel
python·ai·ocr·excel·paddlepaddle
bug嘛我经常写5 小时前
如何批量删除word文档中存在的无用样式
经验分享·python·word
5G微创业5 小时前
Python / Node.js 调用短视频去水印 API 完整示例(含 SDK)
python·node.js·音视频·api·sdk·短视频
phltxy5 小时前
LangGraph智能租房助手实践
大数据·人工智能·python·深度学习·语言模型·langchain
码银6 小时前
放弃了豆包,我使用Python做了一个桌面宠物
python·microsoft·宠物
测功机之家6 小时前
国内口碑好的测功机公司找哪家
python·物联网
xlrqx6 小时前
2026年平顶山家电清洗培训设备是否齐全依据多因素来判断
大数据·python