Realm 是一个安全、易用的密码管理工具,提供命令行和图形界面两个版本,帮助您安全地管理各种网站和应用的密码信息。
Realm 密码本是一个基于 Go 语言开发的密码管理工具,使用 SQLite 数据库存储加密的密码信息。所有密码都通过 AES-256-CBC 算法加密存储,确保数据安全。项目采用主密码保护机制,只有输入正确的主密码才能访问存储的密码数据。
- 🔐 强大的加密保护: 使用 AES-256-CBC 算法加密存储所有密码
- 🔑 主密码机制: 通过单一主密码保护所有数据访问
- 💾 本地存储: 数据完全存储在本地 SQLite 数据库,不会上传到任何服务器
- 📦 多版本支持: 提供命令行和图形界面两个版本,满足不同用户需求
- 🆓 开源免费: 基于 GPL-3.0 许可证,完全开源
- 🚀 轻量高效: 程序小巧,运行快速,资源占用低
Realm/
├── realm-cmder/ # 命令行版本(Realm CLI)
│ ├── main.go # 程序入口
│ ├── helper/ # 核心功能模块
│ ├── dao/ # 数据访问层
│ ├── docs/ # 命令行版本文档和截图
│ └── README.md # 命令行版本详细文档
├── realm-gui/ # 图形界面版本(开发中)
├── docs/ # 项目文档和截图
│ ├── realm_login/ # 登录功能演示
│ ├── realm_add/ # 添加密码功能演示
│ └── realm_query/ # 查询密码功能演示
├── LICENSE # GPL-3.0 许可证
└── README.md # 本文件
命令行版本已经开发完成,提供了完整的密码管理功能。
- Go 1.23.4 或更高版本
- Linux/macOS/Windows 操作系统
- 进入命令行版本目录:
cd realm-cmder- 安装依赖:
go mod tidy- 构建程序:
make build
# 或
go build -o Realm .- 运行程序:
./Realm
# 或
make run详细的命令说明和使用指南请参考 realm-cmder/README.md。
- ✅ 主密码登录/设置
- ✅ 添加/更新密码记录
- ✅ 查询密码
- ✅ 列出所有密码
- ✅ 密码统计
- ✅ 密码生成器
- ✅ 导出密码列表
项目提供了详细的功能演示文档,位于 docs/ 目录:
- 登录功能: 查看 realm_login/ 了解登录流程
- 添加密码: 查看 realm_add/ 了解如何添加密码
- 查询密码: 查看 realm_query/ 了解如何查询密码
图形界面版本正在开发中,将提供更加直观友好的用户界面,让密码管理更加便捷。
状态: 🚧 开发中
GUI 版本将包含以下特性:
- 🎨 现代化的图形用户界面
- 🖱️ 鼠标操作,更加直观
- 🔍 搜索和筛选功能
- 📊 可视化数据展示
- 💾 数据导入/导出功能
- 🔄 与命令行版本数据兼容
- 加密算法: AES-256-CBC
- 密钥生成: 基于主密码的 MD5 哈希生成密钥和 IV
- 数据存储: 所有密码以加密形式存储在 SQLite 数据库中
- 使用强主密码: 建议使用包含大小写字母、数字和特殊字符的复杂密码
- 定期备份: 定期备份
realm.db数据库文件 - 保护数据库文件: 确保数据库文件权限设置正确,避免未授权访问
- 记住主密码: 主密码不会存储在系统中,丢失主密码将无法恢复数据
- 本地存储: 数据库文件存储在本地,请妥善保管
项目使用 SQLite 数据库存储密码信息,数据结构如下:
CREATE TABLE `realm` (
`id` INTEGER PRIMARY KEY NOT NULL,
`domain` varchar(255) NOT NULL,
`user` varchar(255) NOT NULL,
`pwdd` varchar(255) NOT NULL,
`created_at` datetime DEFAULT NULL,
`updated_at` datetime DEFAULT NULL,
`deleted_at` datetime DEFAULT NULL
);- 编程语言: Go 1.23.4
- 数据库: SQLite (使用
github.com/glebarez/sqlite) - ORM: GORM (
gorm.io/gorm,gorm.io/gen) - REPL:
github.com/openengineer/go-repl - 加密算法: AES-256-CBC
- 状态: 开发中
- 技术选型: 待定
- 命令行版本详细文档: realm-cmder/README.md
- 功能演示: 查看 docs/ 目录了解各功能的使用方法
- 命令行版本核心功能开发
- AES 加密/解密实现
- SQLite 数据库集成
- 密码生成器
- 命令行版本文档
- 图形界面版本开发
- GUI 版本界面设计
- GUI 版本数据兼容性
- 数据导入/导出功能增强
- 密码强度检测
- 自动备份功能
- 多语言支持
欢迎提交 Issue 和 Pull Request!
在贡献代码之前,请确保:
- 代码符合项目的编码规范
- 添加必要的测试
- 更新相关文档
- 遵循 GPL-3.0 许可证
本项目采用 GNU General Public License v3.0 (GPL-3.0) 许可证。详情请参阅 LICENSE 文件。
-
主密码安全: 主密码不会存储在系统中,请务必牢记您的主密码。忘记主密码将无法恢复数据。
-
数据备份: 建议定期备份
realm.db数据库文件,避免数据丢失。 -
数据安全: 请妥善保管数据库文件,避免泄露给未授权人员。
-
版本兼容性: 命令行版本和 GUI 版本将使用相同的数据格式,确保数据可以在两个版本间共享。
如有问题或建议,请通过以下方式联系:
- 提交 Issue
- 发送 Pull Request
感谢所有为开源密码管理工具发展做出贡献的开发者!
注意: 本项目正在积极开发中,GUI 版本即将推出,敬请期待!