KeyManagerApp:纯本地加密的密钥管理器
KeyManagerApp 是个纯本地的密钥管理器, 主密钥进去解锁, 关掉就锁, 所有条目只落自己机器上三个文件里, 不联网不同步不经第三方。不放心把密码丢云端别人服务器、看不见同步链路的, 就是它的场景。
GUI 用 PySide6, 一个真桌面窗口, 不用再开浏览器标签页, Qt6 的控件、剪贴板、主题都现成。整个逻辑塞在一个 main.py 里, 登录、主界面、设置、加解密全在里面。个人工具, 一眼看完比分层漂亮更重要。
加密是核心, 没自己造轮子。主密钥先过 Scrypt 派生(n=2^14, r=8, p=1, 16 字节随机盐), 派生出的 key 再交给 cryptography 库的 Fernet 做 AES 认证加密。盐第一次运行用 secrets 随机生成, 落到 salt.dat。数据分三个文件:salt.dat 存盐, settings.dat 存加密后的设置, data.dat 存条目本体, 三个全进 .gitignore。别人拿到 data.dat, 没主密钥没盐, 也只是一堆密文。
主密钥丢了就彻底没了, 没有找回入口, 设计就这样, 迁移把三个文件一起搬。两个偏执设置我挺喜欢:错误尝试超上限直接触发数据销毁, 工具栏一键清除三个文件一起抹、不可撤销。剩下顺手加的有自定义键值对挂 2FA 备份码和密保问题、一键复制、二次验证、换主密钥重加密、几套主题和随机背景图。
现在 0.1.0, MIT。主要在 Windows 上测, 别的平台网络功能没验过, CI 只跑 python -m compileall 做语法检查, 还没自动化测试。