I am trying to encrypt a file and have tried allsorts to get the thing
working. What am i doing wrong? It seems to corrupt within the while llop
that updates the encryption.
thanks in advance
Lee Melville
Here is the code
//--------------------------------------------------------------------------
---------
OpenSSL_add_all_algorithms();
char key[EVP_MAX_KEY_LENGTH];
char iv[EVP_MAX_IV_LENGTH];
EVP_CIPHER_CTX ctx;
unsigned char out[512+8];
int outl;
char passwd[] = "password";
EVP_CIPHER *ciph;
//EVP_MD *md;
int i;
char buff[1024];
CFile fileIn;
fileIn.Open("A:\\test.txt", CFile::typeBinary | CFile::modeRead, NULL);
CFile fileOut;
fileOut.Open("A:\\test.enc", CFile::typeBinary | CFile::modeWrite, NULL);
ciph = EVP_bf_cbc();
EVP_BytesToKey(ciph,EVP_md5(),NULL,(unsigned char
*)passwd,strlen(passwd),1,(unsigned char *)key,(unsigned char *)iv);
cout << "begin init:" << endl;
EVP_EncryptInit(&ctx, ciph, (unsigned char *)key, (unsigned char *)iv);
cout << "begin update:" << endl;
i=0;
//fileIn.Read(&buff,0);
i++;
while (i = (fileIn.Read(buff, sizeof buff)) != NULL){
cout << "test: " << buff << " : " << outl << endl;
EVP_EncryptUpdate(&ctx, out, &outl, (unsigned char *)buff, 512);
fileOut.Write(&out, outl);
i++;
}
EVP_EncryptFinal(&ctx, out, &outl);
fileOut.Write(&out, outl);
fileIn.Close();
fileOut.Close();
//-------------------------------------------------------------
______________________________________________________________________
OpenSSL Project http://www.openssl.org
Development Mailing List [EMAIL PROTECTED]
Automated List Manager [EMAIL PROTECTED]