如果我通过重复使用单个单词来形成密码,如下例所示:
安全安全安全安全安全
SeCuReSeCuReSeCuReSeCuReSeCuReSeCuReSeCuRe
$eCuRe$eCuRe$eCuRe$eCuRe$eCuRe$eCuRe$eCuRe
密码的加密格式(NTLM、MD5 等)中是否会出现类似的模式(重复符号)?
如果我通过重复使用单个单词来形成密码,如下例所示:
安全安全安全安全安全
SeCuReSeCuReSeCuReSeCuReSeCuReSeCuReSeCuRe
$eCuRe$eCuRe$eCuRe$eCuRe$eCuRe$eCuRe$eCuRe
密码的加密格式(NTLM、MD5 等)中是否会出现类似的模式(重复符号)?
这是一个你可以用一堆不同的算法尝试的地方: http ://www.crypo.com/tools/index.php
但答案是否定的,你不会看到任何重复的模式。你可能会看到异或加密,但你永远不会看到强大的加密算法。密码填充和重复可能非常安全,除非有人知道这是您所做的。为了解决这个问题,您所要做的就是添加一两个额外的字符来打破模式并使其更强大。
例如:securesecuresecuresecure.securesecure。
对于蛮力攻击,后者会更安全,但密码的总长度已经很难猜到了。
但是,如果有人知道您总是以固定的次数重复一个常规单词,那么使用第一个示例可能更容易执行字典攻击。(前提是这个人不知道你的迹象)
使用现代加密技术(单向散列和 CBC),没有一种简单的方法可以注意到重复的单词。
如果你运气不好,那么重复的密码可能会导致重复的加密文本,这取决于所使用的加密。
我从来没有听说过哈希算法中的模式,所以如果一个网站只存储哈希(它应该存储的),那么你可能不会得到这样的重复模式。
如果网站存储了加密密码,如果使用 ECB 模式,您可能会看到重复的模式。这就是为什么人们不应该再使用 ECB,而是使用 CBC 或其他模式。在这里,您将通过很好的示例找到有关EBC 和 CBC的更好解释。
如果密码受制于加密,并且加密做得不好,则可以在加密输出中看到明文数据的模式。但是,正确完成的加密没有这个问题,更重要的是,密码是散列的,而不是加密的。加密使用密钥,输出大小与输入大小大致成正比;散列不使用密钥,并且具有固定的输出大小。
当然,长时间重复密码并不会使其更强大;它只会让它更长。密码强度来自随机性,而不是长度。长密码有更多的随机空间(所以它可以帮助适应更多),但是如果你重复相同的字符串,那么你就没有在其中添加任何随机性,所以额外的长度就化为乌有。你只是让密码更难输入。
在密码中使用“安全”一词也不会使其安全——恰恰相反,因为“安全”和“密码”是粗心的用户在密码中最常用的词之一(他们当然自称“机智”)。