2015-04-14 6 views
1

Я пытаюсь использовать функции Windows CryptoAPI для шифрования AES.Почему CryptImportKey не удалось?

Я хочу дать свой собственный ключ к функции CryptEncrypt но моя функция CryptImportKey failes

вот мой код:

HCRYPTPROV hProv = NULL; 
    HCRYPTKEY hKey = NULL; 
    DWORD dwBlobLen; 
    PBYTE pbKeyBlob = NULL; 
    pbKeyBlob = (PBYTE)"1a1dc91c907325c6"; 

    if(!CryptAcquireContext(&hProv, NULL,NULL, PROV_RSA_AES,CRYPT_VERIFYCONTEXT)) 
    { 
     printf(" Error in AcquireContext 0x%08x \n",GetLastError()); 
    }  
    if (!CryptImportKey(hProv,pbKeyBlob,sizeof(pbKeyBlob),0,CRYPT_EXPORTABLE,&hKey)) 
    { 
     printf("Error 0x%08x in importing the Des key \n",GetLastError()); 
    } 

ответ

0

Если вы хотите использовать AES ключ должен быть не менее 16 байт длинный, у вас есть 8-байтовый длинный ключ. AES использует 128, 192 или 256 бит.