Bonjour,
je cherche à crypter le mot de passe utilisé par les fichiers RDP.
Ok pour l'algorithme ci-dessous, mais le mot de passe crypté n'est pas accepté (alors que manuellement il l'est, bien sûr).
Je pense qu'il manque un petit qq chose, peut-être lié à la chaîne transmise ou restituée. Pb de format de chaîne ?
Merci de toute aide.
Jean-Claude
#include <stdio.h>
#include <stdlib.h>
#include <wtypes.h>
#include <wincrypt.h>
int main(int argc, char ** argv)
{
// déclarations
DATA_BLOB DataIn;
DATA_BLOB DataOut;
BYTE *pbDataInput;
DWORD cbDataInput;
unsigned int count = 0;
// initialisation
pbDataInput = (BYTE *)argv[1];
cbDataInput = strlen((char *)pbDataInput);
DataIn.pbData = pbDataInput;
DataIn.cbData = cbDataInput;
// crytpage
if (CryptProtectData(&DataIn, L"This is the description string.", NULL, NULL, NULL, CRYPTPROTECT_UI_FORBIDDEN, &DataOut))
for (count = 0; count < DataOut.cbData; count ++)
printf("%02X", DataOut.pbData[count]);
else
printf("Error number %x\n", GetLastError());
LocalFree(DataOut.pbData);
return 0;
}