2017-03-09 13 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

키의 각 문자를 개별적으로 사용하는 것에 대해 생각했지만 이러한 문자를 어떤 순서로 사용해야하는지 알 수 없었습니다. 귀하의 제안이 도움이됩니다! 감사! –