您可以推荐一个密码生成器吗?


49

我希望有人可以推荐一个好的密码生成器。

能够给人起名字的人的额外道具也可以使您记住它。


7
您总是可以'echo "random" | md5sum':)
内森·奥斯曼

8
@GeorgeEdison为什么停在md5?echo 'keyword' | sha1sum
Marco Ceppi

@乔治@马可哈哈好招。
myusuf3 2011年

3
dd if=/dev/random bs=32 count=1 2> /dev/null | md5sum | cut -b 10-20 应该给你大约40位的熵/安全性。
TorkelBjørnson-Langen'15

Answers:


57

pwgen安装pwgen 生成随机的,无意义的但可发音的密码。这些密码仅包含小写字母,大写和小写字母混合或输入数字。大写字母和数字的放置方式便于在仅记忆单词时记住它们的位置。。

使用以下按钮安装pwgen

通过软件中心安装

例如

sudo apt-get install pwgen
pwgen

pwgen也可用于cygwin
2014年

26

apg 安装apg

APG是高级密码生成器。该软件用于自动生成新密码,以供您随意使用。

以下是“ APG”的一些主要功能:

  • 设置特殊字符的最大百分比
  • 设置生成密码的长度
  • 分组字符
  • 设置要生成的密码数量
  • 设置随机种子文件
  • 一次生成
  • 打印多少秒生成的密码

要安装,请运行以下命令:

sudo apt-get install apg

通过本帮助指南安装和使用Apg


2
您所链接的apg的作者页面和Ubuntu页面都将其称为“自动”,而不是“高级”。目前似乎不支持此答案中的几个项目符号点(如果曾经),尤其是特殊字符的百分比,种子文件,One Time Pad和生成率。
丹尼斯·威廉姆森

22

阿伯里斯特威斯大学(Aberystwyth University)拥有相当强大的mnenomic-password生成器。

http://www.aber.ac.uk/cgi-bin/user/syswww/gw/mnemonic

生成这样的邪恶密码:

<1n255s4    Lisa's first newt zooms Fife's fifth shrewd four.
t6pnjsnv    Tony's sixth padlock nags John's spectacular number vainly.
fqyumdc8    Fiona's quadrilateral yucca understands Murray's dormant calculating eight.
ee6pk3cm    Eve's egocentric six ponders Ken's third cagey magazine.
q1giwn?n    Quentin's first galaxy improves Wyn's nondescript question mark nastily.

有趣的工作。您可能希望通过电子邮件发送给他们的sysop,以查看其背后的脚本是否免费可用(如果不是,则是否考虑对它进行GPL处理)

编辑:更加轻松地查看输出,这将不难编写代码。您只需要几个字典即可提供它。


24
似乎您需要一个助记符才能记住该助记符。
belacqua 2011年

但是如何<在密码中输入一个?在国际环境中,如果您使用不同的键盘,我不建议您这样做。
Marcel

2
我没有看过这个生成器,但我希望它可以让您生成长度超过8个字符的密码。8,即使有特殊字符,如果已经抓取了哈希(这种情况经常发生!),它也会在瞬时彩虹表伪造的范围之内
Rory Alsop

有趣的是,如果您能记住该助记符,则可以从一开始就将其用作密码。密码应该易于记忆,但很难破解。这些密码都是有缺陷的。
polkovnikov.ph '16

14

尝试使用密码卡。您将其放在钱包中时,会记住两个符号和一个颜色。

您沿一条颜色线读取符号之间的字母/数字,或组成任何您可以记住的算法。

该网站会为您生成一张随机卡。

密码卡

http://www.passwordcard.org/en


8

结果甚至比apg或pwgen还要可怕(即使-s设置了选项),但这更有趣:

head -c 8192 /dev/urandom  |   strings --bytes 8 | sed 's/\s//'

我怀疑您的用例是否不同,但是这种事情对于共享密钥和您不经常输入的其他类型的密码很有用。
为了获得较大的选择,通过多个字节head,并以获得更长的密码结果串,修改--bytesstrings(其给出最小长度)。所述sed表达剥离了剥离了空格和制表符(由表示 \s)。

但是,您有时可能会喜欢应用程序(例如pwgen,KeePassX或LastPass),这些应用程序为您提供了避免容易混淆的字符(例如1l和)的选项I。这些可能看起来像1Il1Il或更糟。如果您要重置某人的密码或提供一次需要传递的一次性密码,则可能需要使用这样的选项。

Stil,pwgenput在其手册页中对此警告进行了说明,描述了其-B选项:

   -B, --ambiguous
          Don't use characters that could be confused  by  the  user  when
          printed,  such  as 'l' and '1', or '0' or 'O'.  This reduces the
          number of possible passwords significantly, and as such  reduces
          the  quality  of  the passwords.  It may be useful for users who
          have bad vision, but in general use of this option is not recom‐
          mended.

当然,这太疯狂了。您可能知道什么时候有用。而且肯定比使用'Pa $$ w0rD'进行所有操作都要好。如有疑问,请创建一个更长的密码,或者将您生成的密码作为输入传递给另一个生成器,或者使用多因素身份验证。


Unix&Linux Stack Exchange相关问题中得到类似答案是使用trhead喜欢head /dev/urandom | tr -dc A-Za-z0-9 | head -c 13。一个不错的功能是,很容易控制要包括哪些字符,例如符号。
肯尼·埃维特


6

我用mkpasswd。从技术上讲,它用于加密/etc/passwd文件中使用的密码,但它也提供了适合密码的漂亮字符串。


您能否参考有关此密码是否适合密码生成的来源?
ThorSummoner

1
经过25轮的56位DES修改,但有一些改动。我怀疑是否有一种算法可以枚举所生成的位模式而不引入重复项,因此,除非事先知道长度,否则所用算法的知识不会为攻击者带来好处。
西蒙·里希特

2
但是,我怀疑密码分析人员实际上已经对此进行了探索。搜索空间显然取决于算法中输入的随机数据-如果知道您要做的只是混搭键盘,则该空间比实际使用优质RNG中的56 + 12位要小。
西蒙·里希特


3

Keypass具有内置的密码生成器。生成新密码,并使用同一工具记住该密码。


2
他们是邪恶的。像,32个字符随机产生邪恶。您需要 keepass记住它生成的密码。:-)
Scaine

2

SuperGenPass是最初用于网站登录的书签解决方案,但也可以轻松地用于应用程序。它使用主密码加上当前域名(如果需要,也可以使用应用程序名称)来生成10个字符的密码,例如lCY9gjiDtF。它不需要助记符,因为它可以一键自动填充密码框,也允许将其复制/粘贴到其他应用程序中。

我在每个浏览器和手机上都保存有一个书签(也可以脱机工作!)。非常方便 如果您“勇敢”,那么您甚至可以将主密码硬编码到书签中。


2

我用大脑生成的口令得到了一些很好的反馈。

Password please :
¡I don't use p4sswords with known fixed p4tternS!

las,它不是免费的生成器,因为它可以与一杯咖啡更好地工作,也不是开源的(但是很难破解)。


1

我使用FPM2(figaro)密码管理器。没有助记符,但是您有一个密码生成器,只需要记住一个密码即可。只需在软件中心中进行搜索。

或者,如果您喜欢“低技术”但独创的解决方案,则可以在以下网址观看:http : //www.passwordcard.org/en


1

这是一个JavaScript小书签。它将询问长度,然后创建密码。只需使用以下地址创建一个新书签:

javascript:(function(){var d=prompt("Password length","14");if(d){for(var e="",a=Math.random,b=Math.floor,f=0;f<d;f++)x=62*a(),x<=10&&(c=48+b(10*a())),x>10&&x<36&&(c=65+b(26*a())),x>=36&&(c=97+b(26*a())),e+=String.fromCharCode(c);prompt("Password",e)}})()

对于那些感兴趣的人,上面的书签使用了以下代码,并使用Closure Compiler进行了最小化:

(function () {
    var n = prompt("Password length", '14');
    if (n) {
        var s = "",
            r = Math.random,
            f = Math.floor;
        for (var i = 0; i < n; i++) {
            x = 62 * r();
            if (x <= 10) c = 48 + f(10 * r());
            if ((x > 10) && (x < 36)) c = 65 + f(26 * r());
            if (x >= 36) c = 97 + f(26 * r());
            s += String.fromCharCode(c);
        }
        prompt("Password", s);
    }
})();

您的旧代码将密码泄露到了网页上。此功能使其更加安全(
前提

1

我找到了一个不错的网站,提供了一些有趣的选项来生成密码,强度测试仪等。它以助记符的形式打印出密码。

它并不像人们当前用于密码生成和测试的一些主要网站那样可怕。

http://www.kevtech-apps.com/




By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.