我正在研究一种密码验证算法,该算法需要对照字典检查潜在的密码。如果在词典中可以找到密码或密码的任何部分,请拒绝密码。该功能很容易,但是我从哪里获得单词列表?是否已经有一个用于查找单词的Web服务?我戳了一些,但没有发现任何尖叫“Pick Me!”的消息。谢谢。
编辑:当我问这个问题时,我没有想到过像@Joe Skora这样的特定密码词典,其中包括可以避免的单词。因此,我将扩展问题以包括该类型的字典,以及编写此功能时可能没有考虑的其他任何内容。
平台是C#/ASP.Net/SQL Server。这只是需要实现的强密码算法的一个组成部分。再次感谢。
最佳答案
免费词典上的Googling可为您提供许多免费可用的词典。如果将它们上传到数据库,则可以快速查找已知单词。
但是认为不会消除非暴力攻击!
您应该看看密码破解应用程序!词典攻击的最简单扩展是组合单词。此外,还有其他类型的攻击,例如替换字符,它们在键盘上彼此靠近。 (例如:将d转到f。)
到目前为止,我见过的最好的密码破解应用程序是John the Ripper。如果您看到它使用了哪种攻击,则可以构建更好的密码生成器。
您还应该研究用户习惯,因为典型密码是错误的密码。例如,大多数用户将数字放在密码短语的末尾,因此密码很强,中间是一个数字。
关于database - 在哪里可以找到用于密码验证的词典?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/125438/