29

优点:

  1. 无论如何,我都不记得“好”密码,所以记住它们不是问题。
  2. 它们看起来不像密码
  3. 他们几乎不可能猜到(128位熵)
  4. 易于生成(卸载“良好的 PRNG”问题)

缺点:

  1. ???

尤其; 对于某些设置上的数据库登录密码,计算机输入的密码又如何呢?

4

13 回答 13

32

一个主要缺点是您不一定具有原始问题中所述的“128 位熵”。

许多 GUID 算法以可预测的模式嵌入其中的信息,例如计算机的 MAC 地址、日期/时间或递增序列。WinAPI GUID 的密码分析表明,在初始状态下,可以预测函数 UuidCreate 返回的下一个 250,000 个 GUID

例如,我有大约 50% 的机会猜测第三组数字的第一个位置的第一个数字,因为它将是 1(对于 V1 guids)或 4(对于 V4 guids)

来源:http ://en.wikipedia.org/wiki/Globally_Unique_Identifier

于 2009-04-29T22:10:10.587 回答
13

缺点:

  1. 你会把它们写下来。
  2. 如果您需要告诉其他人,您可能会通过电子邮件发送给他们,或者再次将其写下来。
  3. 对于某些系统,它们可能太长了。
  4. 它们实际上是不可能记住的,所以你可能会比想要的更频繁地改变它们。

因此,除非它们是很少更改的系统密码,否则我怀疑它们是好的密码。

于 2009-04-29T22:02:27.673 回答
8

缺点:

记住一个 32 字节的字母数字字符串几乎是不可能的。

于 2009-04-29T22:00:37.770 回答
5

如果您真的想要一个安全的密码,请考虑使用密码。很长的密码很容易记住,而且很难暴力破解。

于 2009-04-29T22:11:21.630 回答
4

缺点:

  • 某些系统对密码的最大长度有限制。如果您只使用十六进制数字,这可能会将您的熵限制在 32 位。
于 2009-04-29T22:01:42.213 回答
2

缺点:

  1. 密码字段并不总是足够长。
  2. 更难输入 - 您可能会将密码存储在程序中,而不是在您的脑海中。这有点安全问题...

...优点:

  1. 没有人可以强迫您输入密码。

大随机数密码之前已经完成。它们被称为OTP,并且比您建议的要安全得多,因为它们会随着时间而变化,并且往往由安全设备生成。当然,这仅在设计密码系统时才有意义。

于 2009-04-29T22:15:02.510 回答
1

有没有人需要输入它作为密码?还是您想一次性使用它?因为说真的,没有人愿意在密码字段中输入 GUID。人们已经很麻烦了,输入 WEP/WPA2 wifi 网络密钥。大多数时候,这些都是一次性的。

@Miyagi:这是最明显的骗局。他们必须把它写下来。

于 2009-04-29T22:01:40.110 回答
1

从技术上讲,它们将是很好的密码在现实生活中,它们将是可怕的密码

您最终将不得不写下密码,使用密码管理器或其他形式来实际使用密码......以某种方式将故障点从密码转移到另一个方面。

考虑使用密码。替换某些字母或其他字符的句子,以及数字,用 SHIFT 键入它们,将易于记忆的数字转换为明确定义的字符序列。

例如bcs19850101bcs将是bcs!(*%)!)!bcs

于 2009-04-29T22:04:04.237 回答
1

如果您想要一个安全密码,并希望将其留给类 UNIX 系统上的密码管理器,您最好从 /dev/random 中提取一个并将其编码为可读的内容。对于 128 位的熵,你可以使用一些简单的东西,比如

head -c 16 /dev/random | openssl enc -a -e

这给出了一个密码5eqIviKu4pFTqSPnYosVKg==

没有不合理的长,安全,随机,自杀试图记住。

编辑:这种方法相对于 UUID 的额外好处包括 PRNG (/dev/random) 中的额外安全性和更短的密码,类似的不足

于 2009-04-29T22:18:58.040 回答
1

我最近编写了代码,将校验和的前 64 位转换为四个英文单词的序列。这是一个很好的校验和(比十六进制更容易记住),但我不确定我是否会相信它作为密码。如果您要保护一些安全的东西,您应该使用一个您记住并且不要写下来的强密码。如果没有,那么任何旧密码都可以。

于 2009-04-29T22:56:19.290 回答
1

我认为您真正想要的是加密随机数,而不是 GUID。GUID 和 UUID 不是随机的——正如 JohnFx 所说,它们倾向于包含可发现的值,例如 MAC 地址或当前时间戳,以保证唯一性。

相反,您应该查看可用的任何加密 API,并找到高熵随机数的来源。确保文档承诺输出适用于密码学,而不仅仅是常规 PRNG。例如,Unix 系统上的 /dev/random 是一个很好的来源。然后只需展开任意数量的随机字节即可。

个人觉得这有点太硬核了。我宁愿生成每个字符包含更少熵的字符串,但更容易输入和记忆。例如,有几种算法可以结合随机音节来创建可发音的无意义词;穿插一些数字和标点符号,你就有了一个好的密码。

于 2009-04-29T23:05:05.790 回答
0

我喜欢我的密码强且发音清晰(尝试此处列出的网站之一进行在线演示,请务必选择“v2”网站以获取发音指南)。

于 2009-04-29T22:07:52.683 回答
0

缺点:你不能重新输入它,这意味着你必须复制和粘贴。如果您的系统上有密码管理程序,那不是问题。但是,如果您最终使用了一个您不知道的系统,那么仅重新输入内容将非常困难。

然后在你尝试几次之后,你就被锁定了......

生活会变得非常烦人。

即使您把它写下来,一个好的密码也是您可以始终如一地输入而不会出错的密码。

于 2009-04-29T22:37:05.517 回答