Я новичок в C ++ и начал изучать Wincrypt вчера. Я написал этот кусок кода,
#pragma comment(lib, "crypt32.lib")
#include <iostream>
#include <windows.h>
#include <wincrypt.h> // CryptoAPI definitions
using namespace std;
int main()
{
string encMe = "password";
HCRYPTKEY hKey;
HCRYPTPROV hProv;
PBYTE pbBuffer = NULL;CryptAcquireContext(&hProv, NULL, NULL, PROV_RSA_AES, CRYPT_NEWKEYSET | CRYPT_VERIFYCONTEXT);
//cout << hex << GetLastError() << endl; DEBUG
if(NTE_EXISTS == GetLastError())
{
CryptAcquireContext(&hProv, NULL, NULL, PROV_RSA_AES, CRYPT_VERIFYCONTEXT);
}
else if(0 == GetLastError())
{
cout << "Succes1" << endl;
}CryptGenKey(hProv, CALG_AES_256, CRYPT_EXPORTABLE, &hKey);
if(GetLastError() == 0)
{
cout << "Succes2" << endl;
cout << hKey << endl;
}
cout << CryptEncrypt(hKey, 0, TRUE, 0, NULL, NULL, 1000) << endl;
cout << GetLastError();
}
и я застрял на функции CryptEncrypt. Я прочитал страницу MSDN и ничего не понял после «hKey, 0, True, 0». Объясните мне, например, что такое «Указатель на буфер, который содержит открытый текст для шифрования». Заранее спасибо!
Задача ещё не решена.
Других решений пока нет …