复制一个数组并将它们连接在一起

时间:2013-12-09 05:45:58

标签: java

我有一个包含秘密消息字节的数组(Hello World,我的名字是David。)。我有另一个具有密码字节(“secretCode”)的数组。密码可以改变,但我必须通过密码的字母循环并对秘密消息的每个字母进行异或。

示例

enter image description here

我需要多次遍历密码数组,以便我可以对秘密消息的每个字母进行异或,我该怎么做?

1 个答案:

答案 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()将从关键数组中获取字符而不会越界。