我试图通过暴力破解文件。我只担心ASCII字符32-127(所有可能的键盘字符)。密钥必须是两个字符的密钥。我正在开始这样的for-loop:
for(int i = 32; i < 128; i++){
//Key is a string already declared further up.
key = Character.toString((char) i);
}
我打印了它,它给了我键盘上的所有键。我被困在如何制作两个字符串
我有一些想法,但它们不起作用。我想过要尝试做类似的事情:
if(key.length() > 2)
key = "";
else
key += key(i);
但我认为这只会给我一些“背对背”的角色。
我需要测试32和33-127等等等等。任何见解都将受到高度赞赏。谢谢。
答案 0 :(得分:3)
暴力破解的最好方法是嵌套for循环
for(int i = 32; i < 128; i++){
//Key is a string already declared further up.
for(int j = 32; j < 128; j++){
key = Character.toString((char) i) + Character.toString((char) j);
}
}
这表示对于每个角色,将其与每个角色配对,因此您将获得2个字符代码的所有组合。您可以在设置密钥后立即进行检查
答案 1 :(得分:0)
您是否尝试过双循环,如下所示:
String key;
for(int i = 32; i < 128; i++){
for(int j = 32; j < 128; j++){
//Key is a string already declared further up.
key = (char)i+""+(char)j;
System.out.println("Key: " + key + ", " + key.length());
}
}