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

python之keyring库:安全密码管理库,不同平台service_name、username的获取

目录

keyring库的基本用法

设置及修改密码

获取密码

删除密码

检索密码

获取当前系统的所有service_name

Windows 系统

macOS 系统

Linux 系统

跨平台封装

获取同一service_name下的所有username

Windows 系统

macOS 系统


keyring 是一个Python库,它提供了一个简单的方法来访问系统的密钥管理服务,使得存储和检索敏感信息(如密码)变得更加安全和便捷。使用keyring库的好处之一是它抽象了底层密钥管理的细节,使得你的应用程序可以跨多个平台(如Windows、macOS、Linux等)一致地工作,而无需关心每个平台特定的密钥存储机制,方便测试及开发中的用户及密码管理。需要注意的是,keyring库的使用可能需要用户的交互(如在首次存储凭证时输入密码),这取决于底层的密钥管理服务实现。

安装:pip install keyring

keyring库的基本用法

参数:

  • service_name: 用于标识密码的服务名,支持自定义(例如 'test_service')。
  • username: 关联的用户名。
  • password: 要保存的密码。

设置及修改密码

import keyring

keyring.set_password(service_name, username, password)

获取密码

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

删除密码

keyring.delete_password(service_name, username)

检索密码

当你调用keyring.get_credential(service_name, username)时,keyring库会尝试从系统的密钥管理服务中检索与该服务名称和用户名相关联的凭证。如果找到了匹配的凭证,它会返回一个包含两个元素的元组:用户名和密码。如果没有找到匹配的凭证,它会返回None或者在某些实现中可能会抛出一个异常。

import keyring

# 假设我们要获取GitHub的凭证
service_name = "github"
username = "your_github_username"

# 尝试获取凭证
credential = keyring.get_credential(service_name, username)

if credential:
    print(f"Username: {credential.username}, Password: {credential.password}")
else:
    print("No credential found for the specified service and username.")

http://www.kler.cn/a/540367.html

相关文章:

  • 哪吒闹海!SCI算法+分解组合+四模型原创对比首发!SGMD-FATA-Transformer-LSTM多变量时序预测
  • VLLM历次会议(2024.1)
  • Spring Boot整合MQTT
  • ZooKeeper 的典型应用场景:从概念到实践
  • NIO--ByteBuffer组件
  • AI知识库和全文检索的区别
  • DeepSeek从入门分析总结
  • 【Golang学习之旅】gRPC 与 REST API 的对比及应用
  • kafka topic是什么?partition是什么? broker是什么?
  • 如何使用DeepSeek帮助自己的工作?
  • Vue.js 状态管理库Pinia
  • 关于SoC产品介绍:ICNM8501
  • Day82:创建图形界面(GUI)
  • IntelliJ IDEA使用经验(十三):使用Git克隆github的开源项目
  • 【Matlab优化算法-第14期】基于智能优化算法的VMD信号去噪项目实践
  • Maven 在 Eclipse 中的使用指南
  • 机器学习中过拟合和欠拟合问题处理方法总结
  • 【Linux系统】—— 简易进度条的实现
  • Mac重复文件,一键查找并清理的工具
  • 如何把邮件批量导出到本地
  • iOS主要知识点梳理回顾-3-运行时
  • SpringCloud面试题----.Ribbon和Feign调用服务的区别
  • PDF翻译自动化:利用Make打造反思翻译工作流
  • Blazor-<select>
  • 六年级写景作文:美丽的春天
  • 重庆市大数据局:基于可信数据空间的公共数据流通利用(附下载)