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