谢谢你看。所有真诚有用的答案都被投票赞成。
我使用密码强度计让用户知道他们选择的密码有多强。但是这个密码检查器显然没有涵盖密码在字典攻击下有多弱。我该如何检查,是否值得?
此外,我的常规密码检查器最初在浏览器中使用 javascript 运行(无需传输)。如果我想检查字典攻击弱点,我必须将它传输到脚本。我的理解是我不应该清楚地传输它。
有人可以帮我解决这个问题。如何在字典攻击下检查密码是否安全,以及如何在传输到我的脚本之前对其进行加密?
额外信息:
为什么我认为除了常规密码表之外,我还需要字典攻击检查?正如你们中的一些人所指出的,用户可以选择像 P@ssword 或 Yellow12 这样的密码。但是我遇到的大多数密码强度检查器都会将此视为一个好的密码。至少我正在使用 Yet Another Password Meter确实如此(我实际上认为它是更好的密码检查器之一。)如果有人知道更强大的密码检查器,请提及它,但前提是您根据经验确定它更强大;)
但我的问题确实是:如何对密码进行字典攻击检查? 我在某处读到它是针对哈希完成的,但是我在哪里进行搜索?一旦我找到了如何去做,我就会决定是否值得。
感谢到目前为止提供帮助的所有人:)
最佳答案
意见会有所不同,有些人会说检查字典单词很重要。我不同意,而是赞成要求不同大小写的字母、数字和特殊字符,如 !@#$%^&*()_-=+。显然,密码应该区分大小写。
存在数字和特殊字符时,字典攻击不太可能成功。假设有 1000 个常用密码。现在添加一个必需的大写字母和特殊字符,让我们假设用户是“懒惰的”,他们选择将第一个字母大写并在末尾添加一个特殊字符。那本 1000 大小的字典现在已超过 30,000。
此外,应该有帐户锁定以避免字典攻击。并且可能会根据您的应用程序限制 IP 地址尝试登录的频率。
在运行脚本时,可能仍然存在避免使用一些非常常见的密码的情况。例如,我不允许使用密码 p@ssword 一词或密码的任何变体。
编辑:验证码,虽然被大多数人(包括我)讨厌,但在几次登录失败后也可能是合适的,以避免暴力登录尝试。
关于security - 字典攻击下密码弱吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1584159/