5 个版本 (3 个重大更改)
0.4.0 | 2024 年 5 月 6 日 |
---|---|
0.3.1 | 2024 年 4 月 28 日 |
0.3.0 | 2024 年 4 月 26 日 |
0.2.0 | 2024 年 4 月 22 日 |
0.1.0 | 2024 年 4 月 20 日 |
#1497 在 密码学
每月下载量 256
47KB
1.5K SLoC
pwdm - 密码管理器
用于管理密码的简单命令行工具和 Rust 库。
密码数据库
密码被加密并存储在 SQLite 数据库中,每个密码都通过 服务名 和可选的 用户名 唯一标识。
安全性
在将密码存储到数据库之前,每个密码都使用 AES-256-GCM 进行加密。 pwdm
使用用户提供的 主密码(带有随机生成的盐)作为输入到 Argon2 密钥派生函数(Argon2id)以派生加密密钥。与数据库文件相关联有一个主密码。首次提供主密码时,也使用 Argon2(与另一个随机生成的盐)将密码哈希到适合基于密码的身份验证的 PHC 字符串。哈希存储在数据库中以在后续调用中验证主密码。
主密码应该 强大。因此,作为预防措施,此密码管理器在设置或更新主密码时始终使用 Dropbox 的 zxcvbn 密码强度估算器,并强制要求 zxcvbn
的估算([0, 4]
区间内的一个整数)为给定密码的最大可能分数 4,该分数据称表示“在离线慢速哈希场景中具有强大的保护”。 交互式尝试 zxcvbn
。
命令行
$ pwdm --help
Command-line password manager.
Usage: pwdm [OPTIONS]
Options:
-p, --path <PATH> Path to the database file
-h, --help Print help
-V, --version Print version
默认情况下,pwdm
CLI 将密码数据库文件存储在 ~/.pwdm/passwords.db
。要指定自定义路径,请使用 -p
或 --path
选项或设置 PWDM_PATH
环境变量。
在命令行中,在输入主密码后,可以使用以下交互式命令
添加
:添加新密码。获取
:检索密码。删除
:删除密码条目。更新
:更新现有密码。列出
:列出所有密码ID。更新主密码
:更新主密码。退出
:退出程序。
在 添加
或 更新
中,您可以手动输入密码或选择自动生成一个安全的密码。
安装
cargo install pwdm
许可证
pwdm
采用 Apache-2.0 许可。
依赖项
~34–49MB
~765K SLoC