Skip to content

Latest commit

 

History

12 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

PasswordBox

PasswordBox 是一款基于 Wails 2 开发的本地密码管理器,采用 Go + Vue 3 + Element Plus 技术栈。所有密码数据均存储在本地 SQLite 数据库中,通过 AES-256 加密保护,密钥由 Argon2id 安全派生,无需联网即可使用。


简介

在数字化生活中,每个人都需要管理大量的账号和密码。PasswordBox 提供了一个简洁、安全、完全离线的解决方案:

  • 完全离线:数据库和加密盐值均保存在本地,不上传任何云端。
  • 单用户设计:无需注册多用户,首次使用只需设置一个主密码即可开始使用。
  • 安全加密:采用 Argon2id 从主密码派生 AES-256 密钥,所有敏感字段(标题、网址、用户名、密码、备注)均加密存储。
  • 现代 UI:基于 Vue 3 和 Element Plus 构建,支持列表/网格双视图、收藏筛选、实时搜索等交互。
  • 系统托盘:关闭窗口后自动缩至托盘,单击托盘图标恢复窗口,右键菜单可快速显示或退出应用。

如何编译

环境要求

安装依赖

task deps:install

该命令会自动下载 Go 依赖并安装前端 npm 依赖。

常用 Task 命令

# 查看所有可用任务
task

# 开发模式(热重载)
task dev

# 构建当前平台的生产版本
task build

# 运行所有测试
task test

# 运行 Go 代码检查
task vet

# 清理构建产物
task clean

多平台构建

# Windows
task build:windows

# Linux
task build:linux

# macOS(Intel + Apple Silicon)
task build:mac

# 构建所有平台
task build:all

构建成功后,可执行文件位于 build/bin/ 目录下。


功能列表

功能 说明
主密码初始化 首次启动设置主密码,实时检测密码强度
一键解锁 已初始化后输入主密码即可解锁进入主界面
密码条目管理 新增、编辑、删除密码条目
字段加密存储 标题、网址、用户名、密码、备注全部 AES-256 加密
收藏与筛选 支持收藏条目,并按全部 / 收藏 / 最近添加筛选
实时搜索 按标题、用户名或网址快速搜索
视图切换 列表视图与网格视图一键切换
密码显示/复制 支持显示/隐藏密码,一键复制到剪贴板
系统托盘 关闭窗口缩至托盘,单击恢复,右键菜单显示/退出

功能介绍

主密码与安全机制

PasswordBox 采用单用户模式。首次打开应用时,系统会引导你设置一个主密码。该密码不会直接存储,而是通过 Argon2id 算法与一个 16 字节随机盐值派生出 32 字节的 AES 密钥,用于加解密数据库中的敏感字段。盐值文件保存为同目录下的 salt.bin

每次启动应用后,需要输入主密码进行解锁。锁定后(或重新启动),AES 密钥会从内存中清除,必须再次输入主密码才能访问数据。

密码条目

每个密码条目包含以下字段:

  • 标题:如 "GitHub"、"Gmail"
  • 网址:如 https://github.com
  • 用户名:登录账号
  • 密码:账号密码(加密存储)
  • 备注:额外说明信息
  • 收藏状态:是否加入收藏夹

搜索与筛选

在主页上方的搜索框中输入关键词,应用会实时在标题、用户名和网址三个字段中匹配,快速定位目标条目。

工具栏提供筛选按钮:

  • 全部:显示所有条目
  • 收藏:仅显示已收藏的条目
  • 最近添加:显示最新添加的 10 条记录

视图与排序

  • 列表视图:以表格形式展示,信息完整,适合快速浏览
  • 网格视图:以卡片形式展示,带网站图标(Favicon),视觉更直观

支持按以下方式排序:

  • 名称(稳定顺序)
  • 最近添加
  • 最近修改

系统托盘

PasswordBox 支持系统托盘常驻,方便后台管理密码:

  • 关闭窗口不退出:点击窗口右上角的关闭按钮时,应用会自动隐藏到系统托盘,保持后台运行。
  • 单击恢复:左键单击托盘图标,主窗口立即恢复显示并前置。
  • 右键菜单:右键托盘图标可快速选择"显示"或"退出",点击"退出"将完全结束应用进程。

项目结构

.
├── PasswordBox/
│   ├── app.go              # 后端核心业务逻辑(Wails 绑定)
│   ├── app_test.go         # 后端单元测试
│   ├── main.go             # 应用入口
│   ├── internal/
│   │   ├── config/         # Argon2id 密钥派生与盐值管理
│   │   ├── log/            # 日志封装
│   │   └── utils/          # 密码强度检测等工具函数
│   ├── frontend/           # Vue 3 前端源码
│   │   └── src/
│   │       ├── App.vue
│   │       └── components/
│   ├── wails.json          # Wails 项目配置
│   └── go.mod              # Go 模块依赖
├── Taskfile.yml            # 项目构建与任务管理
└── README.md               # 项目介绍

许可证

MIT License

About

密码管理器

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages