Hash korlátozása

Hash korlátozása
2014-01-04T01:23:12+01:00
2014-01-04T07:18:12+01:00
2022-08-17T18:10:38+02:00
ShadowMember
Hello
Van ez a kódom:

LPSTR CreateHash(LPSTR tohash, ALG_ID alg) { HCRYPTPROV hProv; HCRYPTHASH hash; char Buf[256]; DWORD BufSize; if (CryptAcquireContext(&hProv, NULL, NULL, PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) { if (CryptCreateHash(hProv, alg, 0, 0, &hash)) { if (CryptHashData(hash, (BYTE *)&tohash, sizeof(tohash), 0)) { ZeroMemory(&Buf, sizeof(Buf)); BufSize = sizeof(Buf); if (!CryptGetHashParam(hash, HP_HASHVAL, (BYTE *)&Buf, &BufSize, 0)) printf("Call to CryptGetHashParam failed. Error: %d\n", GetLastError()); } else printf("Call to CryptHashData failed. Error: %d\n", GetLastError()); if (!CryptDestroyHash(hash)) printf("Call to CryptDestroyHash failed. Error: %d\n", GetLastError()); } else printf("Call to CryptCreateHash failed. Error: %d\n", GetLastError()); if (!CryptReleaseContext(hProv, 0)) printf("Call to CryptReleaseContext failed. Error: %d\n", GetLastError()); } else printf("Call to CryptAcquireContext failed. Error: %d\n", GetLastError()); return Buf; }

Ez szép és jó,csak nem tudom korlátozni,hogy milyen hosszú legyen. Azt szeretném elérni,hogy csak 16 karakterből álljon,se több,se kevesebből.
Hogy tudom ezt megoldani?
Mutasd a teljes hozzászólást!
CryptAcquireContext(..) fg. a 3. paramétere pszProvider [in], itt adod meg a paraméter nevét.
A nevét ezzel kapod meg: CryptGetProvParam=(..), amly fg, beállítod a key értékeit.
CryptAcquireContext

CryptGetProvParam
Mutasd a teljes hozzászólást!

abcd