用于生成强密码的工具?

时间:2012-09-28 19:39:07

标签: passwords utility passphrase

Passphrases似乎是传统的好选择 强密码指南。有关密码与密码的有趣接受,请参阅http://xkcd.com/936/

有许多工具可用于生成更传统的密码(例如,pwgen。) 例如,在为用户提供良好的初始密码时,此类工具非常有用。

有哪些工具可用于生成良好的密码?

您是否有使用它们或洞察其安全性或其他功能的经验?

2 个答案:

答案 0 :(得分:1)

我编写了一个基于Perl脚本passphrase-generator的命令行。

密码短语生成器默认只有3个字而不是XKCD建议的4个字,但在/ usr / share / dict / words中使用了许多基于linux的系统中的字典。它还提供了生成的密码短语的熵估计值。随机化基于/ dev / urandom和SHA1。

示例运行:

$ passphrase-generator 

Random passphrase generator

Entropy per passphrase is 43.2 bits (per word: 14.4 bits.)

For reference, entropy of completely random 8 character (very hard to memorize)
password of upper and lowercase letters plus numbers is 47.6 bits
Entropy of a typical human generated "strong" 8 character password is in the
ballpark of 20 - 30 bits.

Below is a list of 16 passphrases.
Assuming you select one of these based on some non random preference
your new passphrase will have entropy of 39.2 bits.

Note that first letter is always capitalized and spaces are
replaced with '1' to meet password requirements of many systems.

Goatees1maneuver1pods
Aught1fuel1hungers
Flavor1knock1foreman
Holding1holster1smarts
Vitamin1mislead1abhors
Proverbs1lactose1brat
... and so on 10 more

还有一些基于浏览器/ javascript的工具:

CPAN托管一个用于生成XKCD样式密码的Perl模块:

答案 1 :(得分:1)

我最近在GitHub here上发布了几个Perl脚本,gen-passwordgen-passphrase

gen-passphrase脚本可以满足您的需求。它需要三个参数:一个单词用作一个首字母序列,一个最小长度和一个最大长度。例如:

$ gen-passphrase abcde 6 8
acrimony borrowed chasten drifts educable

或者你可以要求一些单词而不指定它们的首字母(我刚刚添加的新功能):

$ gen-passphrase 5 6 8
poplin outbreak aconites academic azimuths

需要一个单词列表;如果存在,它默认使用/usr/share/dict/words。它默认使用/dev/urandom,但可以告诉他使用/dev/random。有关/dev/urandom/dev/urandom的详细信息,请参阅superuser.com上的this answer

注意:到目前为止,除了我之外没有人测试过这些脚本。我已尽最大努力让他们生成强密码/密码短语,但我保证不会。