Кто нибудь может подсказать в чем дело, никак не могу догнать.
код:
    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
Есть какие-нибудь идеи?