2012-05-15 3 views
0

"메시지 시퀀스 번호"문제의 두 바이트로 처음 두 바이트의 XOR을 보내야하기 전에 UDP/IP 프로토콜을 통해 장치에 16 진수 값을 보내야합니다.객관적인 C에서 const char의 XOR을 수행하려면 어떻게해야합니까?

  1. 메시지 시퀀스 번호의 MSB와 LSB를 찾을 수있는시기와 위치
  2. 처음 두 바이트에 대해 XOR을 수행하려면 어떻게해야합니까? 그렇다면 원본을 다시 첨부하는 방법은 무엇입니까?

여기 내 배열 const char connectByteArray [] = {0x21,0x01,0x01,0x00,0xC0,0x50};

아래의 요점은 내가 생각하기에 더 잘 대답하는 데 도움이 될 것입니다. "XOR은 메시지 시퀀스 번호의 MSB가있는 암호화 블록의 첫 번째 바이트이고, XOR은 암호화 블록의 두 번째 바이트가 메시지의 LSB와 같습니다 시퀀스 번호 "

답변

2
//Bitwise XOR operator is^. 

byte msb = (byte) (connectByteArray[0])<<8 //LSB 
byte lsb = (byte) (connectByteArray[0]) >> 8 //MSB 
+0

나는 작동하지 않는다 - 메시지 시퀀스 번호는 어디입니까? 당신은 lsb와 msb back-to-front를 가지고 있습니다. 당신은'connectByteArray'의 같은 바이트를 사용하고 있습니다. 각 배열 인덱스에 대해 – trojanfoe

+0

을 수행하십시오. – zahreelay

+0

메시지 시퀀스 번호는 어디에 있습니까? – trojanfoe

관련 문제