Кто нибудь может подсказать в чем дело, никак не могу догнать.
код:
QByteArray tmpInBuff;
unsigned long datal;
unsigned long datar;
int k,j;
k = 0;
j = 0;
datal = 2301956232;
datar = 381807848;
tmpInBuff.resize(8);
for (k = j + 3; k >= j; k--){
tmpInBuff[k] = datal & 0x00ff;
datal >>= 8;
}
for (k = j + 7; k >= (j + 4); k--){
tmpInBuff[k] = datar & 0x00ff;
datar >>= 8;
}
datal = 0;
datar = 0;
for (k = j; k < (j + 4); ++k)
datal = (datal << 8) | tmpInBuff[k];
for (k = (j+4); k < (j + 8); ++k)
datar = (datar << 8) | tmpInBuff[k];
При значениях которые приведены в коде, неправильно работает.
При следующих значениях отрабатывает нормально:
datal = 1751477356
datar = 1862270978
datal + datar = слово hello + QByteArray добитый до 64 бит.
В коде datal и datar приведены в зашифрованном виде алгоритмом blowfish
Есть какие-нибудь идеи?