2012-05-15 49 views
0

我需要通過UDP/IP協議向設備發送十六進制值,在我需要發送之前,我必須先用兩個字節的「消息序列號」的前兩個字節進行異或運算,即如何在目標C中執行const char的XOR?

  1. 什麼時候在哪裏可以找到消息序列號的MSB和LSB
  2. 我該如何爲前兩個字節執行XOR,如果我這樣做了,那麼如何追溯回原來的?

這裏是我的數組const char connectByteArray [] = {0x21,0x01,0x01,0x00,0xC0,0x50}; 「

以下幾點有助於更好地回答我的問題 」將加密塊的第一個字節與消息序列號的MSB異或,並將加密塊的第二個字節與消息的LSB異或序列號「

回答

2
//Bitwise XOR operator is^. 

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

我不認爲這是有效的 - 消息序列號在哪裏?你有lsb和msb的支持。您正在使用'connectByteArray'的相同字節。 – trojanfoe

+0

爲每個數組索引執行此操作 – zahreelay

+0

消息序列號在哪裏? – trojanfoe