#password-generator #secure-password #password #generator #deterministic #offline

应用 pword

pword 是一个安全的密码生成器,允许您基于易于记忆的主短语创建网站的唯一密码

4 个版本

0.1.3 2020 年 1 月 13 日
0.1.2 2020 年 1 月 13 日
0.1.1 2020 年 1 月 13 日
0.1.0 2020 年 1 月 12 日

#2466密码学

MIT/Apache

9KB
99

PWORD

PWORD 是一个单向、无需同步的确定性密码生成器。100% 使用 Rust dicewarearagon2(2015 年密码散列竞赛的获胜者)来创建一个加密安全的密码。

您应该能够在任何计算机上安装此程序,并完全离线访问您的任何密码,无需同步。

人类需要记住的内容

  1. 主短语 "Endnote kindness clover"
  2. 为 "github.com" 生成密码的网站名称

如果您将上述文本输入到 pword 中,它将始终显示相同的密码 raW5kbmVzcyBjbG92ZXI,我建议您不要实际使用 - 这只是为了演示目的。

安装

快速安装

cargo install pword

克隆和构建安装

git clone https://github.com/drbh/pword.git
cd pword
cargo install 

工作原理

基于 diceware 算法,我们为用户生成一个易于记忆的主短语。此短语由一个安全的随机数生成器 开发者更多信息 进行播种。接下来,我们使用此短语作为 aragon2 密码生成函数中的盐。

根据用户输入的网站 - 我们建议包括域名但不包括协议或尾部路径的主机名。例如 - github.com 不包括 https - 和我们的主短语,我们有足够的随机性,但易于记忆的输入到我们的哈希函数。我们将输入和盐传递给 Aragon2,这是一个内存密集型密码函数。输出是一个长的哈希字符串,我们从中间选择 20 个字符。

输出是一个独特的 20 位密码,可以通过使用短语和密码主机重新生成。虽然这旨在使人类极容易记住密码生成过程,但从计算角度来看是非常昂贵的(需要短语生成和内存密集型哈希函数)。

虽然您可以创建一个更安全的密码(一个 100 位以上的密码),但记住它将非常困难,但这也为您提供了一个简单的方法,从跨平台工具中创建和访问许多非常安全(可能比您当前的密码更安全)的密码。

使用

主短语

pword new

# Endnote kindness clover

生成新密码

pword generate

# Type a password: 
# 
# 👍 thanks.
# 
# Type a label for your password
# github.com
# 
# Your password:
# raW5kbmVzcyBjbG92ZXI

依赖项

~4MB
~79K SLoC