1 个不稳定版本

0.1.0 2020 年 5 月 7 日

#30#cli-password

MIT 许可证

9KB
98

nobrain

这是一个小型命令行工具,用于根据主密钥、域名(或任何其他“域名”标识符)和可选的用户名(re)生成密码。

通过记住单个主密钥,您可以从相同的输入(域名和用户名)重新生成相同的密码,因此您不需要记住它们。

主密钥不存储在任何地方(只存储在您的脑海中,因此您仍然需要一点),不作为命令行参数传递,也永远不会显示,因此它不会出现在 bash 历史记录、日志等中。

生成的密码包含字母、大写字母、数字和特殊字符。我们在 PKBF2/SHA256 哈希之上使用自定义的 base64 编码,以提供这些功能并满足多样化的需求。

密码通常长 43 个字符。

示例

为 example.com 生成密码

$ nobrain example.com
Master key: [hidden]
Domain         example.com
Your password  vh8n0+BXrsTzckt.n08r41n-sEpQKfD0MKXtL1j2Jfs

当然 example.com 只是一个任意的标识符。使用您需要密码的网站的域名是一种好习惯,这样您就不需要记住您是否使用了 exampleExample"Example Site"

但这任何一种都会工作。

使用用户名生成密码

只需添加 -u <username> 选项。

$ nobrain example.com -u lud
Master key: [hidden]
Domain         example.com
Username       lud
Your password  eeovoS9HN9P:L4CsXf+Atw!6SHYehBjfBV:T.15CFF:

请注意,输出是不同的,因为用户名被添加到哈希中。任何对用户名的更改都将导致不同的密码,因此任何用户名都将有自己的密码。

用法

$ nobrain --help
nobrain 0.1.0

USAGE:
    nobrain [FLAGS] [OPTIONS] <domain>

FLAGS:
    -c, --confirm       Ask for password confirmation
    -h, --help          Prints help information
    -n, --no-newline    Print only the password without linebreak
    -V, --version       Prints version information

OPTIONS:
    -u, --user <username>    Add a username [default: ]

ARGS:
    <domain>

依赖关系

~7–17MB
~231K SLoC