优点:

  1. 反正我记不住“好”密码 所以记住它们不是问题。
  2. 它们看起来不像密码
  3. 它们几乎不可能被猜到(128 位熵)
  4. 易于生成(解决了“好 PRNG”问题)

缺点:

  1. ???

尤其;计算机输入的密码(例如某些设置中的数据库登录密码)又如何呢?

有帮助吗?

解决方案

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

许多 GUID 算法都以可预测的模式嵌入信息,例如计算机的 MAC 地址、日期/时间或递增序列。WinAPI GUID 的密码分析显示,在给定初始状态的情况下,我们可以预测函数 UuidCreate 返回的最多 250,000 个 GUID

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

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

其他提示

缺点:

  1. 你会把它们写在某个地方。
  2. 您可能会向他们发送电子邮件,或者如果您需要告诉其他人,请再次将其写下来。
  3. 对于某些系统来说它们可能太长。
  4. 它们实际上不可能记住,因此您可能会比期望的更频繁地更改它们。

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

缺点:

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

如果您确实想要一个安全的密码,请考虑 密码短语 反而。长密码很容易被记住,并且很难被暴力破解。

缺点:

  • 有些系统对密码的最大长度有限制。如果您只使用十六进制数字,这可能会将您的熵限制为可能只有 32 位。

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

@宫城:这当然是最明显的缺点。他们必须把它写下来。

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

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

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

例如 BCS19850101BCS 将会 BCS!(*%)!)!BCS

缺点:

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

...优点:

  1. 没有人能够强行窃取您的密码。

以前已经做过大随机数密码。他们被称为 一次性TPs,并且比您建议的安全得多,因为它们会随着时间的推移而变化,并且往往是由安全设备生成的。当然,这仅在以下情况下才有意义: 正在设计一个密码系统。

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

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

它给出了一个类似的密码 5eqIviKu4pFTqSPnYosVKg==

尝试记住的时间不是不合理的长、安全、随机、自杀。

编辑:与 UUID 相比,此方法的额外好处包括 PRNG (/dev/random) 的额外安全性和更短的密码,以及类似的缺点

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

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

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

就个人而言,这似乎有点太硬核了。我宁愿生成每个字符包含较少熵的字符串,但更容易键入和记住。例如,有几种算法可以组合随机音节来创建可发音的无意义单词;散布一些数字和标点符号,你就得到了一个好的密码。

我喜欢我的密码 有力且发音清晰 (尝试其中一个网站 此处列出 对于在线演示,请务必选择“v2”网站来获取发音指南)。

缺点:您无法重新输入,这意味着您必须复制并粘贴。如果您的系统上有密码管理程序,那么这并不是什么问题。但是,如果您最终使用的系统不支持,那么重新输入内容将非常困难。

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

生活可能会变得非常烦人。

即使你把它写下来,一个好的密码也是你可以连续输入而不会出错的密码。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top