Расшифровка файлов данных с помощью wincrypt. Попасть в неприятности. Пример показывает CBase64Utils? - PullRequest
0 голосов
/ 07 октября 2009

Мне нужно расшифровать некоторые файлы данных с помощью wincrypt, и примеров очень мало, и они находятся далеко от сети. Самый убедительный пример, который я нашел, это здесь . Однако здесь используются всевозможные типы, о которых я не могу найти информацию (CBase64Utils, CString и т. Д.).

Я читаю окончательное решение, пытаюсь понять процесс и пришел к этому:

// 5. Determine the LENGTH of the BUFFER to hold the corresponding cyphertext.
            CBase64Utils bu;
            int ipszSourceLen = strlen(pszSource);
            char *pszSource2 = bu.Decode(pszSource, &ipszSourceLen);

            DWORD   dwSourceLen = strlen(pszSource2);      // Get the length of the input string.
            DWORD   dwDataLen = dwSourceLen;
            BYTE*   pTarget = NULL;
            DWORD   dwCryptDataLen = dwDataLen;
            CryptEncrypt(hKey, 0, TRUE, 0, NULL, &dwCryptDataLen, dwDataLen);

Это чистый китайский язык для меня. Кто-нибудь может понять это и, надеюсь, очистить грязные воды? Спасибо

1 Ответ

0 голосов
/ 07 октября 2009

Код, который вы указали, ужасен. Похоже, что этот человек написал свой метод шифрования, а затем впоследствии написал свой метод дешифрования, просто скопировав и вставив первый метод и сделав несколько изменений (при этом оставив тонну кода в процессе шифрования). Я не удивлюсь, если это сработает, просто он тратит время и пространство на бесполезную работу, оставшуюся от шифрования (плюс комментарии все обратные).

Поскольку wincrypt - это библиотека Microsoft, существует множество примеров на MSDN . Поскольку образцы MSDN (как правило) хорошо написаны и хорошо прокомментированы, их должно быть намного легче понять, поэтому я рекомендую вам взглянуть на них.

...