Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / шифрование RC4 длина строки (CryptoAPI) / 1 сообщений из 1, страница 1 из 1
18.04.2011, 08:31
    #37220913
TermoYDR
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
шифрование RC4 длина строки (CryptoAPI)
шифрую строку текста, использую CryptoAPI, агл. шифрование RC4
проблема в том, что если строока больше 132 символов, после шифрования на выходе получается обрезанная строка
В и-нете объяснения не нашел, хотелось бы знать это ограничение самого алгоритма или я делаю что-то не так
Спасибо!

код:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
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;
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / шифрование RC4 длина строки (CryptoAPI) / 1 сообщений из 1, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]