#include <WinCrypt.h> #define KEYLENGTH 0x00800000 BOOL MyEncryptData(PBYTE pbyBuff, int iLen, char *szPasswd) { HCRYPTPROV hCryptProv; HCRYPTKEY hKey; HCRYPTHASH hHash; BOOL bRet = FALSE; DWORD dwLen, dwTmp = *((DWORD*)pbyBuff); PBYTE p = pbyBuff; DWORD dwErr = GetLastError(); if(!CryptAcquireContext(&hCryptProv, NULL, MS_DEFAULT_CSP, PROV_RSA_FULL, CRYPT_DELETEKEYSET)) { dwErr = GetLastError(); printf("Err: CryptAcquireContext(CRYPT_DELETEKEYSET),dwErr = 0x%08X/n", dwErr); } else { printf("CryptAcquireContext(CRYPT_DELETEKEYSET) OK,hCryptProv=0x%08X!/n", hCryptProv); CryptReleaseContext( hCryptProv, 0); } if(!CryptAcquireContext(&hCryptProv, NULL, MS_DEFAULT_CSP, PROV_RSA_FULL, CRYPT_NEWKEYSET)) { dwErr = GetLastError(); printf("Err: CryptAcquireContext(CRYPT_NEWKEYSET),dwErr = 0x%08X/n", dwErr); } els