да, я пишу аналог этой софтины, но под явой. Чисто для себя под андроид.
Kilatif, странно работает антиксор который ты написал... особенно странно для меня:
key = key - b; - зачем из ключа вычитать весь пакет?
Array.Copy(BitConverter.GetBytes((Int32)b), 0, b_temp, 0, 4); тут тоже не совсем понятно что это делает, у нас ведь в итоге весь пакет получается 4 байтным в итоге, разве нет?
Или может я криво переписал это дело под андроид? просто на яве нет бит ковертера))) пришлось гуглить аналоги, нашёл пару функций:
PHP код:
public static int ToInt32(byte[] bytes, int offset) {
int ret = 0;
for (int i=0; i<4 && i+offset<bytes.length; i++) {
ret <<= 8;
ret |= (int)bytes[i] & 0xFF;
}
return ret;
}
PHP код:
public static byte[] toBytes(long val, boolean bigEndian)
{
byte[] res = new byte[8];
if (bigEndian)
{
res[0] = (byte)(val>>56&0xFF);
res[1] = (byte)(val>>48&0xFF);
res[2] = (byte)(val>>40&0xFF);
res[3] = (byte)(val>>32&0xFF);
res[4] = (byte)(val>>24&0xFF);
res[5] = (byte)(val>>16&0xFF);
res[6] = (byte)(val>>8&0xFF);
res[7] = (byte)(val&0xFF);
} else
{
res[7] = (byte)(val>>56&0xFF);
res[6] = (byte)(val>>48&0xFF);
res[5] = (byte)(val>>40&0xFF);
res[4] = (byte)(val>>32&0xFF);
res[3] = (byte)(val>>24&0xFF);
res[2] = (byte)(val>>16&0xFF);
res[1] = (byte)(val>>8&0xFF);
res[0] = (byte)(val&0xFF);
}
return res;
}
в итоге у меня на выводе после антиксора: [B@40538170
не понимаю где косяк
а так хочется чат на андроиде иметь)))