使用按位运算符对密码类进行编码

时间:2017-03-09 17:10:04

标签: java encode bitwise-operators

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

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);

    }
}

1 个答案:

答案 0 :(得分:0)

您可以单独使用密钥中的每个字符,并在完成后将其环绕。 E.g:

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