我希望能够从给定长度生成所有可能的字符串,坦率地说,我不知道如何编码。因此,为了进一步解释,我和一个朋友想演示一些基本的黑客技术,因此出现了暴力破解。当然,他会成为我的受害者,这不是什么违法的事情。
然而,他告诉我的唯一一件事是他的密码将是 4 个字符长,但我很确定他的密码不会出现在任何字典中,这太容易了。
因此,我想到了生成每个可能的 4 字符长字符串的想法,其中包含 a-z 字符(无大写字母)。
有人可以指导编写这样的算法吗?我不太关心表演,如果需要 1 个晚上才能生成所有 PW,那没问题。
不要忘记,这只是出于演示目的。
您可以像使用数字一样进行操作。从aaaa开始。然后增加“最不重要”部分,即 aaab。继续前进,直到到达 aaaz。然后递增到 aaba。重复直到达到 zzzz。
所以你需要做的就是实施
String getNext(String current)
对此进行扩展;这可能不是最快的做事方法,但它是最简单的方法。
正如古老的格言所说:“先做对,然后做快”。您首先要做的就是获得一个通过所有测试的有效实现(您确实有测试,对吧?)。然后,您可以重写它以使其更快,并使用您的测试来确保您不会破坏核心功能。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)