У меня есть домашнее задание. Мне нужно сделать реализацию шифрования AES с помощью WinCrypt.
У меня есть N поток (например, 3). Я должен зашифровать текст с помощью этих потоков.
Итак, у меня есть такой код для создания контекстов (есть проблема):
HCRYPTPROV hProvs;
void hInit()
{
if (!CryptAcquireContext(&hProvs, NULL, NULL, PROV_RSA_AES, CRYPT_VERIFYCONTEXT))
{
if (!CryptAcquireContext(&hProvs, NULL, MS_ENHANCED_PROV, PROV_RSA_AES, CRYPT_NEWKEYSET | CRYPT_VERIFYCONTEXT))
{
printf("%d\n", GetLastError());
getchar();
ExitProcess(0);
}
}
getchar();
}
Чтобы зашифровать строку, я должен создать контекст для каждогоили создать глобальный контекст, который будет использоваться для всех потоков.
Я использую глобальный контекст.
Когда я пытаюсь его создать, ничего не происходит. CMD немедленно закрывается. getchar () не работает.
Я пробовал этот код в Windows 7 x32
Основной вопрос - что мне следует сделать, чтобы создать контекст для глобального шифрования (с потоками)?