Descriptografando arquivos de dados com o wincrypt. Tendo problemas. Exemplo mostra cbase64utils?

StackOverflow https://stackoverflow.com/questions/1528917

  •  20-09-2019
  •  | 
  •  

Pergunta

Preciso descriptografar alguns arquivos de dados com Wincrypt e exemplos são poucos e distantes entre online. O exemplo mais sólido que encontrei é aqui. No entanto, isso está usando todos os tipos de tipos sobre os quais não consigo encontrar informações (cbase64utils, cString etc.).

Estou lendo a solução final, tentando entender o processo, e cheguei a isso:

// 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);

Isso é puro chinês para mim. Alguém pode entender isso e, esperançosamente, limpar algumas águas enlameadas? Obrigado

Foi útil?

Solução

O código que você vinculou é horrível. Parece que o sujeito escreveu seu método Encrypt e, posteriormente, escreveu seu método descriptografado simplesmente copiando e colando o primeiro método e fazendo algumas alterações (mas deixando uma tonelada de código que sobrou do processo de criptografia). Eu não ficaria surpreso se funcionasse, é apenas que desperdiça tempo e espaço fazendo trabalhos inúteis restantes da criptografia (além dos comentários são todos para trás).

Como o Wincrypt é uma biblioteca da Microsoft, há muitos exemplos no msdn. Como as amostras do MSDN são (geralmente) bem escritas e bem contratadas, elas devem ser muito mais fáceis de entender, então eu recomendaria que você as olhe.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top