Java 为蛮力生成密钥

Java 为蛮力生成密钥,java,ascii,brute-force,Java,Ascii,Brute Force,我试图通过暴力破解一个文件。我只担心ASCII字符32-127(所有可能的键盘字符)。密钥必须是两个字符的密钥。我开始我的for循环如下: for(int i = 32; i < 128; i++){ //Key is a string already declared further up. key = Character.toString((char) i); } 但我认为这只会让我看到彼此“背靠背”的角色 我需要测试像32和33

我试图通过暴力破解一个文件。我只担心ASCII字符32-127(所有可能的键盘字符)。密钥必须是两个字符的密钥。我开始我的for循环如下:

    for(int i = 32; i < 128; i++){
        //Key is a string already declared further up.
        key = Character.toString((char) i);   
    }
但我认为这只会让我看到彼此“背靠背”的角色


我需要测试像32和33-127等等。如有任何见解,将不胜感激。谢谢。

使用暴力的最好方法是嵌套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);  

        }
    }
for(int i=32;i<128;i++){
//键是一个已进一步声明的字符串。
对于(int j=32;j<128;j++){
key=Character.toString((char)i)+Character.toString((char)j);
}
}

这意味着对于每个字符,将其与每个字符配对,这样就可以得到2个字符代码的所有组合。您可以在设置键后立即进行检查

您是否尝试了双for循环,类似于以下内容:

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());
    }
}
字符串键;
对于(int i=32;i<128;i++){
对于(int j=32;j<128;j++){
//键是一个已进一步声明的字符串。
key=(char)i++(char)j;
System.out.println(“Key:+Key+,“+Key.length());
}
}

啊,我明白了,既然你已经指出了这一点,那就很有意义了。谢谢,答案被接受了。
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());
    }
}