1 个不稳定版本
0.1.0 | 2020 年 5 月 7 日 |
---|
#30 在 #cli-password
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
只是一个任意的标识符。使用您需要密码的网站的域名是一种好习惯,这样您就不需要记住您是否使用了 example
、Example
或 "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