感谢您寻找。所有的真诚帮助的答案是投票了。

我用一个密码强度计,让用户知道他们所选择的密码强度。但这个密码检查显然不包括在字典攻击的口令是多么的无力。如何检查是什么,以及是否值得呢?

另外我的常规密码检验器初始运行在浏览器中的JavaScript(没有传输需要)。如果我想检查字典攻击的弱点,我不得不把它传给一个脚本。我的理解是,我不应该以明文传输的。

有人可以帮助我排序了这一点。如何检查口令下字典攻击也不弱,我如何传递给我的脚本之前对其进行加密?

<强>额外的信息:

为什么我觉得我需要在另外的字典攻击检查的常规密码米?你们当中有些人已经指出的那样,用户可以选择如P @提供ssword或Yellow12密码。但是,大多数密码强度跳棋我遇到会将此作为一个好的密码。至少我使用另一组密码,仪表和它(实际上我认为这是最好的一个密码跳棋)如果有人更强的密码检查的人都知道,请提及它,但只有当你肯定知道根据经验,它的强大。)

不过,我的问题真的是:我怎么进行的密码字典攻击检查我读的地方,它是对哈希做,但我在哪里做搜索?一旦我找出如何做到这一点,我会再决定是否值得与否。

感谢大家迄今谁的帮助了:)

有帮助吗?

解决方案

我来这个问题晚于其他人,我很惊讶,没有人曾指出,字典检查可能不够详尽。至少,没有人已经表示,在这么多的话。

我想你需要一个大的字典,其中每个条目被散列并且相比的散列的密码。这将允许你说用户选择的密码的的在你的字典里,但你将如何确保它的的完全的?

显然,你不能确定。你包括外来词?技术词汇?

请密码破解有机会获得更好的词典?

我认为所有你能做的就是提醒的用户如何创造一个良好的密码 - 他们展示了几个例子 - 但希望这是他们的选择。

和做SSL的事情。

其他提示

意见会改变,有些人会说,检查字典中的单词是非常重要的。我不同意,转而青睐需要的字母,数字和特殊字符,如!@#$%不同的情况^&*()_- = +。显然密码应区分大小写。

字典攻击是不太可能与数字和特殊字符的存在才能成功。比方说,有1000个通用密码。现在有了另外一个需要大写字母和特殊字符的让我们假设用户是“懒”,他们选择将第一个字母大写和特殊字符添加到末尾。该1000尺寸的词典是现在超过30,000。

此外应该有到位,以避免字典攻击帐户锁定。并可能对一个IP地址如何往往试图根据您的应用程序登录的节流。

有可能仍然是一个情况下,以避免一些很常见的密码运行脚本时。我将例如不允许字口令P @提供ssword或密码的任何变体。

编辑:A验证码,而大多数(包括我)讨厌可能是适当的,以及一些失败的登录,以避免蛮力登录尝试后

一个额外的点 - 如果你控制的网站,你可以通过限制的时候,用户可以尝试使用用户名/密码数量停止字典攻击。

这是伟大的,你希望你的用户有更好的密码,你应该继续朝着这个方向,但在字典/强力攻击一个更好的解决方案将是一个指数退避解决失败的登录尝试。没有真正的用户会尝试登录在10秒内1000次所有不同的密码。

如果您使用的是正确的复杂性要求(长度,搭配外壳,数字,符号,也许禁止连续重复字符),那么我会说这是不值得的。如果您在这将需要那么情况很可能密码验证就不够好您的情况呢。

SSL

如果您以任何方式或任何网页上的网站请求敏感的个人信息,的包括密码的,那么你应该能够和整个现场执行SSL。这将确保所有口令以加密的形式从所述浏览器向服务器发送,并且没有人可以嗅出密码关闭网络或修改在运输过程中的网页(和改变的形式回发的URL)。

密码仪表

您应该完全在浏览器中运行你的密码米。你应该接受任何及所有密码(具有的最小长度,例如6个字符),用户输入的,但随时提示用户,在浏览器内,它们是否已经进入了一个弱或强密码。

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