如何修改以下程序,使其使用八个字符的字符串作为键?

public class SelfTest {

    public static void main(String[] args) {
        String msg = "This is a test";
        String encmsg = "";
        String decmsg = "";
        int key = 88;
        System.out.println("Original msg: " + msg);
        for(int i=0; i< msg.length(); i++){
            encmsg = encmsg + (char) (msg.charAt(i)^key);
        }
        System.out.println("Encode msg: " + encmsg);

    }
}

最佳答案

您可以单独使用键中的每个字符,并在完成后将其环绕。例如。:

for(int i=0; i< msg.length(); i++){
        encmsg = encmsg +
                 (char) (msg.charAt(i) ^ (key.charAt(i % key.length())));
    }

10-04 14:12