当前位置: 首页 > news >正文

keyring 库

目录

安装 keyring

基本用法

1. 设置密码

2. 获取密码

3. 删除密码

4. 返回当前使用的默认密钥环

5. 列出所有密码

支持的后端


 

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

安装 keyring

pip install keyring#linux需安装keyrings.alt——面向无安装桌面的系统使用
pip3 install keyrings.alt
[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. 设置密码

将密码保存到密钥环中:

import keyring# 保存密码
keyring.set_password('service_name', 'username', 'password')

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

从密钥环中检索密码:

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

3. 删除密码

从密钥环中删除密码:

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

keyring.get_keyring()

import keyring
print(keyring.get_keyring())
5. 列出所有密码

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

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。
http://www.lryc.cn/news/407199.html

相关文章:

  • [css3] 如何设置边框颜色渐变
  • Redux +Toolkit 工具包快速入门
  • 【Python数据增强】图像数据集扩充
  • 实时同步:使用 Canal 和 Kafka 解决 MySQL 与缓存的数据一致性问题
  • WINUI——Microsoft.UI.Xaml.Markup.XamlParseException:“无法找到与此错误代码关联的文本。
  • C语言 | Leetcode C语言题解之第283题移动零
  • WPF项目实战视频《二》(主要为prism框架)
  • 【微信小程序实战教程】之微信小程序 WXS 语法详解
  • Android中Service学习记录
  • Elasticsearch:Java ECS 日志记录 - log4j2
  • MongoDB自学笔记(四)
  • 时序分解 | Matlab基于CEEMDAN-CPO-VMD的CEEMDAN结合冠豪猪优化算法(CPO)优化VMD二次分解
  • 新版海螺影视主题模板M3.1全解密版本多功能苹果CMSv10后台自适应主题
  • 汽车免拆诊断案例 | 2014 款上汽名爵 GT 车发动机无法起动
  • vue3前端开发-小兔鲜项目-登录功能的业务接口调用
  • 【Linux】vim编辑器使用详解
  • 手机怎么设置不同的ip地址
  • SpringBoot读取配置的6种方式
  • 1.1 openCv -- 介绍
  • 探索PostgreSQL的GUI工具:提升数据库管理效率
  • 【从零开始实现stm32无刷电机FOC】【实践】【5/7 stm32 adc外设的高级用法】
  • springcloud接入seata管理分布式事务
  • Android APP 音视频(02)MediaProjection录屏与MediaCodec编码
  • java中log4j.properties配置文件浅析
  • RV1126 Linux 系统,接外设,时好时坏(二)排查问题的常用命令
  • 鸿蒙北向开发 DevEco Studio 4.1 下载安装傻瓜式教程
  • pglogical扩展的基本用法介绍
  • 2024年虚拟主机转移教程
  • Python 函数对象和函数调用
  • sql注入的专项练习 sqlilabs(含代码审计)