Click here to Skip to main content
15,902,032 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
GeneralDirectory listing Pin
JensB1-Dec-03 5:07
JensB1-Dec-03 5:07 
GeneralRe: Directory listing Pin
David Crow1-Dec-03 5:39
David Crow1-Dec-03 5:39 
GeneralHere's a new one... Pin
Paul Vickery1-Dec-03 5:01
professionalPaul Vickery1-Dec-03 5:01 
GeneralRe: Here's a new one... Pin
Adam Gritt1-Dec-03 9:45
Adam Gritt1-Dec-03 9:45 
QuestionCan i create ones callback functions??? Pin
El'Cachubrey1-Dec-03 4:08
El'Cachubrey1-Dec-03 4:08 
AnswerRe: Can i create ones callback functions??? Pin
David Crow1-Dec-03 5:41
David Crow1-Dec-03 5:41 
AnswerRe: Can i create ones callback functions??? Pin
valikac1-Dec-03 6:10
valikac1-Dec-03 6:10 
Generalarrrruuugghhhhh cyrptoapi again Pin
(Steven Hicks)n+11-Dec-03 3:14
(Steven Hicks)n+11-Dec-03 3:14 
(sorry for the repost but this is really bugging me still):

The first time i call EncryptString (below) I pass "asdf" it encrypts to to be a length of 25 and encrypts it right. But when i try to encrypt a 2539 length string it returns a string of a length of 225 and only partically encrypted. Why is this happening and how do I fix it?


CString CEncyptionClass::EncryptString(CString m_strUnencryptedString)
{
//variables
//Date:11 22 03
CString m_strResultingText;
HCRYPTPROV hProv = NULL;
HCRYPTKEY hKey = NULL;
HCRYPTHASH hHash = NULL;
DWORD dwLength;
BYTE * pbBuffer;
LPTSTR m_tContents=ConvertCStringToChar(m_strUnencryptedString);

TCHAR szLocalPassword[] = _T("alongrandompassword");
//

// Get handle to user default provider.
if (CryptAcquireContext(&hProv, NULL, NULL, PROV_RSA_FULL, 0))
{
// Create hash object.
if (CryptCreateHash(hProv, CALG_MD5, 0, 0, &hHash))
{
// Hash password string.
dwLength = _tcslen(szLocalPassword);
if (CryptHashData(hHash, (BYTE *)szLocalPassword, dwLength, 0))
{
// Create block cipher session key based on hash of the password.
if (CryptDeriveKey(hProv, CALG_RC4, hHash, CRYPT_EXPORTABLE, &hKey))
{

dwLength= _tcslen(m_tContents);

pbBuffer=(BYTE*)malloc(dwLength);

if (pbBuffer != NULL)
{
memcpy(pbBuffer, m_tContents, dwLength);

if (CryptEncrypt(hKey, 0, true, 0, pbBuffer, &dwLength, dwLength))
{
m_strResultingText.Format("%s",pbBuffer);

CString strShow;
strShow.Format("After: %s \r\n(%s)\r\n %d %d", m_strResultingText,m_tContents,strlen((const char*) pbBuffer) ,dwLength);
MessageBox(strShow);
}
free(pbBuffer);

}
CryptDestroyKey(hKey); // Release provider handle.
}
}
CryptDestroyHash(hHash); // Destroy session key.
}
CryptReleaseContext(hProv, 0);
}


return m_strResultingText;
}



-Steven Hicks

CPA

CodeProjectAddict

Actual Linux Penguins were harmed in the creation of this message.

More tutorials: Ltpb.8m.com: Tutorials |404Browser.com (Download Link)

GeneralRe: arrrruuugghhhhh cyrptoapi again Pin
igor19601-Dec-03 8:26
igor19601-Dec-03 8:26 
GeneralRe: arrrruuugghhhhh cyrptoapi again Pin
(Steven Hicks)n+11-Dec-03 10:03
(Steven Hicks)n+11-Dec-03 10:03 
GeneralRe: arrrruuugghhhhh cyrptoapi again Pin
igor19601-Dec-03 10:10
igor19601-Dec-03 10:10 
GeneralRe: arrrruuugghhhhh cyrptoapi again Pin
(Steven Hicks)n+11-Dec-03 10:21
(Steven Hicks)n+11-Dec-03 10:21 
GeneralRe: arrrruuugghhhhh cyrptoapi again Pin
igor19601-Dec-03 10:58
igor19601-Dec-03 10:58 
GeneralRe: arrrruuugghhhhh cyrptoapi again Pin
(Steven Hicks)n+11-Dec-03 11:16
(Steven Hicks)n+11-Dec-03 11:16 
GeneralRe: arrrruuugghhhhh cyrptoapi again Pin
igor19601-Dec-03 11:29
igor19601-Dec-03 11:29 
GeneralRe: arrrruuugghhhhh cyrptoapi again Pin
(Steven Hicks)n+11-Dec-03 11:33
(Steven Hicks)n+11-Dec-03 11:33 
GeneralRe: arrrruuugghhhhh cyrptoapi again Pin
igor19601-Dec-03 11:42
igor19601-Dec-03 11:42 
GeneralRe: arrrruuugghhhhh cyrptoapi again Pin
(Steven Hicks)n+11-Dec-03 11:50
(Steven Hicks)n+11-Dec-03 11:50 
GeneralRe: arrrruuugghhhhh cyrptoapi again Pin
igor19601-Dec-03 12:20
igor19601-Dec-03 12:20 
GeneralRe: arrrruuugghhhhh cyrptoapi again Pin
(Steven Hicks)n+11-Dec-03 13:17
(Steven Hicks)n+11-Dec-03 13:17 
GeneralRe: arrrruuugghhhhh cyrptoapi again Pin
(Steven Hicks)n+11-Dec-03 10:04
(Steven Hicks)n+11-Dec-03 10:04 
Generalmem leak detection Pin
GDavy1-Dec-03 3:07
GDavy1-Dec-03 3:07 
GeneralRe: mem leak detection Pin
Antti Keskinen1-Dec-03 10:04
Antti Keskinen1-Dec-03 10:04 
Generalitoa Pin
styve1-Dec-03 2:55
styve1-Dec-03 2:55 
GeneralRe: itoa Pin
GDavy1-Dec-03 2:58
GDavy1-Dec-03 2:58 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.