2017-03-09 14 views
1

8文字の文字列をキーとして使用するように、次のプログラムを変更するにはどうすればよいですか?ビット演算子で暗号化クラスを符号化する

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

なぜ正確に8ですか? – Vallentin

+2

@Vallentinhisの宿題はおそらく彼に8を使用するように言った –

+0

はいそれは私の宿題です。 –

答えて

0

キーの各文字を個別に使用し、完了すると折り返して使用できます。例:

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

私はキーの個々の文字を個別に使うことを考えましたが、これらの文字をどのような順序で使うべきかを理解できませんでしたか?あなたの提案は役に立ちます!ありがとう! –