我有一个包含秘密消息字节的数组(Hello World,我的名字是David。)。我有另一个具有密码字节(“secretCode”)的数组。密码可以改变,但我必须通过密码的字母循环并对秘密消息的每个字母进行异或。
示例
我需要多次遍历密码数组,以便我可以对秘密消息的每个字母进行异或,我该怎么做?
答案 0 :(得分:4)
String msg = ... ;
String key = ... ;
StringBuilder sb = new StringBuilder(msg.length());
for (int i = 0; i < msg.length(); i++) {
sb.append((char)(msg.charAt(i) ^ key.charAt(i % key.length())));
}
i % key.length()
将从关键数组中获取字符而不会越界。