C++ 使用wincrypt解密数据文件。有麻烦。示例显示CBase64Utils?
我需要用wincrypt解密一些数据文件,而且示例很少。我发现的最可靠的例子是。然而,这使用了各种我似乎找不到的类型(CBase64Utils、CString等) 我正在阅读最终解决方案,试图理解过程,并得出以下结论:C++ 使用wincrypt解密数据文件。有麻烦。示例显示CBase64Utils?,c++,cstring,cryptoapi,C++,Cstring,Cryptoapi,我需要用wincrypt解密一些数据文件,而且示例很少。我发现的最可靠的例子是。然而,这使用了各种我似乎找不到的类型(CBase64Utils、CString等) 我正在阅读最终解决方案,试图理解过程,并得出以下结论: // 5. Determine the LENGTH of the BUFFER to hold the corresponding cyphertext. CBase64Utils bu; int ipszSourceLen =
// 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);
这对我来说是纯中国的。有谁能理解它,并希望清除一些泥水?谢谢你链接的代码太可怕了。这家伙似乎编写了他的加密方法,然后通过复制和粘贴第一个方法并进行一些更改(但在加密过程中留下了大量代码)编写了他的解密方法。如果它能工作,我不会感到惊讶,只是它浪费时间和空间做加密留下的无用工作(加上评论都是反向的)
由于wincrypt是一个Microsoft库,因此有很多示例。由于MSDN示例(通常)写得很好,注释也很好,因此应该更容易理解,因此我建议您改为查看它们。Hmm这看起来非常熟悉,您不会碰巧将其用于COMP4501=)?