шифрую строку текста, использую CryptoAPI, агл. шифрование RC4
проблема в том, что если строока больше 132 символов, после шифрования на выходе получается обрезанная строка
В и-нете объяснения не нашел, хотелось бы знать это ограничение самого алгоритма или я делаю что-то не так
Спасибо!
HCRYPTPROV hProv;
HCRYPTKEY hSessionKey;
HCRYPTHASH hHash;
LPCSTR sKey = "WrSxnCNBpJ7Ko4[e#,7Ty)a0ykP)62Ce[.bAA;SuOf4*{nagx4s,;5!eHU!v=p3z";
int lHashPassword = strlen(sKey);
if (!CryptAcquireContext(&hProv, NULL, NULL,
PROV_RSA_FULL, CRYPT_VERIFYCONTEXT))
return;
if(!CryptCreateHash(hProv, CALG_SHA, 0, 0, &hHash))
return;
if(!CryptHashData(hHash, sKey, lHashPassword, 0))
return;
if (!CryptDeriveKey(hProv, CALG_RC4, hHash, 128 << 16 , &hSessionKey))
return;
AnsiString s = "1234567890123445678901234567890123456789012345678901234567891234567890123456789012345678901234567890123456789012345678901234567890123";
char *mstring = s.c_str();
DWORD count=strlen(mstring);
if (!CryptEncrypt(hSessionKey, 0, true, 0, (BYTE*)mstring,
&count, strlen(mstring)))
return;