返回顶部
首页 > 资讯 > 后端开发 > Python >Python使用tkinter写一个本地密码管理器
  • 794
分享到

Python使用tkinter写一个本地密码管理器

Python 官方文档:入门教程 => 点击学习

摘要

目录重要提示修改点前言使用说明登录修改密码主页面随机密码补充说明详细代码见仓库 GitHub地址:github.com/nerkeler/account 重要提示 程序默认密码:pa

详细代码见仓库

GitHub地址:github.com/nerkeler/account

重要提示

程序默认密码:password

密钥位置:./resource/aesKey 建议另存一份以作备份

修改点

  • 本地密码导出中文乱码修复
  • 引入日志记录
  • 优化edge/chrome 浏览器导出适配管理

PS: 程序第一次打开关于页面显示不完整,如果遇到,请关闭后再打开

前言

闲来无事,看到自己有很多网站的账户密码,有些网站可能打开一两次也就忘记了,下一次在输入账户密码就想不起来,这样很容易丢失账号(当然也可以保存在浏览器自带的密码管理器中),虽然市面上也有很多优秀的账户密码管理软件,一来是这些程序大都是联网运行,在提供了多端存档的同时,也将密码和账户在网络上传输,虽然实际上很安全,但是并不是绝对的安全,二来,部分优秀的程序都是订阅付费机制,就想着自己干脆写个简单的本地的账户管理器,于是就有了这个小程序

先说一下优点吧,同市面上的程序比较,一个最突出的优点就是完全运行在本地,账户密码经过AES加密,在逻辑上可以说是非常安全的,因为你的密码不会暴漏在网络上,本地也进行了加密处理。

当然缺点也很明显,一是功能不是十分完善,二是该程序使用tkinter 模块编写,在布局和界面展示上都显得十分简陋,好在基本的功能没有问题

使用说明

1.下载解压程序文件

2.运行account.exe文件

3.点击新建账号按钮添加新的账号密码信息

4.双击表格中的数据进行编辑或删除

5.点击导出按钮验证密钥密码后将数据导出为CSV格式文件

6.点击导入按钮选择CSV文件进行导入数据

7.可按需求导入并管理Chrome/Edge密码本浏览器密码

登录

第一次登陆密钥弹出框被关闭时,就进入了程序的登录界面,默认账户名admin 不可修改,默认密码为 :passWord,建议第一次登陆时修改密码

PS: 多用户功能尚未开发,因此账户名锁定不可编辑

修改密码

在登陆界面 点击 改密 进入修改密码界面,新密码要求字符数大于8位,点击确定 按钮即可进行密码修改,修改成功后会提示修改成功,重新登陆,如下图所示

chrome/edge浏览器密码导入管理

依次点击:

1.设置

2.自动填充

3.密码管理器

找到如图红框内容,验证设备密码后导出chrome密码本csv文件到本地

回到程序后点击导入

对应导入源后选择导入文件即可导入数据,单线程导入较慢,请耐心等待,快捷键暂未适配

主页面

主界面共分为两个区域:

  • 一个是上方的功能区,提供了查询、查看、新增、删除(软删除)功能,
  • 一个是下方的账户展示区域,默认打开时按照列表展示所有账户信息

相关操作

  • 下拉框提供了 账户编号(对应下方序号列)、网站名称(对应下方网站列)、网站网址(对应下方网址列)查询条件转换
  • 文本框接受 下拉框的对应字段,为空时默认查询所有
  • 点击某一项账户时,点击查看/双击当前项 可进入当前账户查看界面,如图所示,当前页面也可以更新账户信息
  • 新增按钮会弹出新增界面,按照规定指示填写字段即可新增一条记录
  • 删除按钮 在点击某一项账户时,点击删除,即可删除当前记录(软删除,更改了当前的状态)

随机密码

可以按照自己的需求生成相应的密码规则,ABC/123/abc/#$&

注:在密码长度>字符类型数的时候会补数字 如 密码长度选30 规则选abc 会在26个字符后再补几个数字构成随机字符

关于

聊胜于无,简单说一下,详细见程序页面

补充说明

忘记登陆账户密码时,可将account.db 文件使用数据库可视化工具打开,取出当前账户的相关信息和密码,根据密钥和加密逻辑解密当前账户的密码明文

加密逻辑如下:

import hashlib
from Crypto.Cipher import AES
​
​
def encode_password(password):
    key = yourkey           # key 表示你的密钥 
    
    slot = "nerkeler"
    encode = key + slot
    myKey = hashlib.md5(encode.encode("utf-8")).hexdigest().__str__()[:24]
    return aes_encode(myKey, password)
    
    
def aes_decode(key, ciphertext):
    # 将密钥填充到16的倍数
    key = key + (16 - len(key) % 16) * '\0'
    # 创建AES密码器对象
    cipher = AES.new(key.encode(), AES.MODE_ECB)
    # 解码Base64编码的密文
    ciphertext = base64.b64decode(ciphertext)
    # 解密
    plaintext = cipher.decrypt(ciphertext)
    # 去除填充字符
    plaintext = plaintext.rstrip(b'\0')
    return plaintext.decode()

到此这篇关于python使用tkinter写一个本地密码管理器的文章就介绍到这了,更多相关Python tkinter本地密码管理器内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Python使用tkinter写一个本地密码管理器

本文链接: https://lsjlt.com/news/212762.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python使用tkinter写一个本地密码管理器
    目录重要提示修改点前言使用说明登录修改密码主页面随机密码补充说明详细代码见仓库 github地址:github.com/nerkeler/account 重要提示 程序默认密码:pa...
    99+
    2023-05-19
    Python tkinter实现本地密码管理器 Python tkinter本地密码管理器 Python tkinter密码管理 Python 密码管理
  • 怎么使用Python+tkinter编写一个强制表白神器
    尽管Python提供了多个消息框已经能够满足大部分正常人的需求,但并不够灵活,所以有的时候不得不自定义消息框。新建窗口消息框的本质是一个窗口、一段信息,外加两个按钮import tkinter as tk FONT= ("微软雅...
    99+
    2023-05-19
    Python Tkinter
  • 使用python怎么编写一个本地应用搜索工具
    这篇文章主要介绍了使用python怎么编写一个本地应用搜索工具,此处通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考价值,需要的朋友可以参考下:python可以做什么Python是一种编程语言,内置了许多有效的工具,Pyt...
    99+
    2023-06-06
  • 使用SpringBoot项目实现一个本地事务管理功能
    使用SpringBoot项目实现一个本地事务管理功能?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。 SpringBoot 事务一直在用 SpringBoot 中的 @Trans...
    99+
    2023-06-06
  • 使用python编写一个学生通讯录管理系统
    本篇文章为大家展示了使用python编写一个学生通讯录管理系统,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。功能模块分析:首页(菜单功能)2.添加学生3.删除学生4.修改学生5.统计通讯录联系人人数...
    99+
    2023-06-06
  • 使用Django怎么实现一个账号密码管理系统
    这期内容当中小编将会给大家带来有关使用Django怎么实现一个账号密码管理系统,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1、环境搭建需安装:python3.6Pycharm专业版django 2.2....
    99+
    2023-06-14
  • 利用Android怎么编写一个本地音乐播放器
    利用Android怎么编写一个本地音乐播放器?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。音乐播放需要调用service,在此,只是简单梳理播放流程。public class ...
    99+
    2023-05-31
    android roi
  • 使用Java编写一个学生成绩管理系统
    这篇文章将为大家详细讲解有关使用Java编写一个学生成绩管理系统,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Java可以用来干什么Java主要应用于:1. web开发;2. Android...
    99+
    2023-06-14
  • 云服务器调用本地摄像头怎么设置权限管理密码
    如果您要在云服务器上访问您本地的摄像头,您需要设置访问权限管理密码。以下是一般的方法: 登录到云服务器,选择“我的账户”,选择“安全”选项卡。 在“安全”选项卡中,选择“管理员访问权限”。 在“设置访问权限管理密码”中,输入一个包含数字...
    99+
    2023-10-27
    摄像头 权限 密码
  • 云服务器访问本地网络怎么设置权限管理密码
    登录云服务器:用户首先需要登录到云服务器上。通常,云服务器提供了多种登录方法,如用户名、密码、电子邮件、验证码等。用户需要输入用户名和密码以登录到云服务器上,然后使用其他账户登录到该云服务器。 配置访问权限:在云服务器上,可以通过配置访问...
    99+
    2023-10-27
    权限 密码 服务器
  • 怎么用Python代码写一个语言检测器
    怎么用Python代码写一个语言检测器,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。你有没有曾经好奇过Chrome浏览器是如何知道一个网页的语言,并对外国文字的网页提供翻译服务...
    99+
    2023-06-17
  • 一文读懂Python版本管理工具Pyenv使用
    目录pyenv简单介绍pyenv工作原理linux安装win10安装使用pyenv简单介绍 在日常运维中, 经常遇到这样的情况: 系统自带的Python是2.x,而业务部署需要Python 3.x 环境, 此时需要在...
    99+
    2022-06-02
    Python版本管理Pyenv使用 Python Pyenv使用
  • 使用Java怎么编写一个酒店前台管理系统
    本文章向大家介绍使用Java怎么编写一个酒店前台管理系统的基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。Java可以用来干什么Java主要应用于:1. web开发;2. Android开发;3. 客户端开发;4....
    99+
    2023-06-06
  • 云服务器访问本地虚拟机怎么设置权限管理密码
    1. 确认本地虚拟机的IP地址 在设置权限管理密码之前,需要先确认本地虚拟机的IP地址。可以通过在虚拟机中运行ipconfig命令来查看IP地址。 2. 在云服务器中创建用户 在云服务器中创建一个新用户,可以使用以下命令: sudo a...
    99+
    2023-10-27
    虚拟机 权限 密码
  • 云服务器访问本地数据库怎么设置权限管理密码
    如果你想让云服务器访问本地数据库,你需要进行以下步骤来设置权限管理密码: 首先,你需要在本地数据库中创建一个新的用户,并为该用户设置一个密码。你可以使用以下命令来创建一个新用户: CREATE USER 'newuser'@'%' ...
    99+
    2023-10-27
    权限 密码 服务器
  • 使用Python编写一个简易客服机器人
    使用Python编写一个简易客服机器人?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1、货物信息储存到MySQL数据库中在现实情景中,购物信息的数据一般会储存到...
    99+
    2023-06-14
  • 如何使用C++编写一个简单的人事管理系统?
    如何使用C++编写一个简单的人事管理系统?人事管理系统是一个用于管理和维护组织内人力资源相关信息的软件。它可以帮助组织进行员工管理、薪资核算、考勤统计、福利发放等工作。本文将介绍如何使用C++编写一个简单的人事管理系统,帮助读者理解人事管理...
    99+
    2023-11-02
    C++编程 简单 人事管理系统
  • 如何使用C++编写一个简单的物流管理系统?
    如何使用C++编写一个简单的物流管理系统?简介:物流管理系统是现代物流业中非常重要的一环,它能够帮助企业高效地管理运输、仓储、配送等物流环节。本文将介绍如何使用C++编写一个简单的物流管理系统,帮助读者了解C++的基本语法和面向对象的编程思...
    99+
    2023-11-04
    C++编写 简单系统。
  • 怎么使用docker-compose统一管理多个容器
    今天小编给大家分享一下怎么使用docker-compose统一管理多个容器的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。Do...
    99+
    2023-07-05
  • 如何在python中使用PyAutoGui编写一个计算器
    这篇文章将为大家详细讲解有关如何在python中使用PyAutoGui编写一个计算器,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。python可以做什么Python是一种编程语言,内置了许多...
    99+
    2023-06-07
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作