Hi
This is my piece of program:
EVP_CIPHER_CTX_init(&ctx);
ret = EVP_CIPHER_CTX_set_padding(&ctx, 0); //0 for no padding, 1 for
padding // ret ==1 here
unsigned char *key = GetKeyPtr();
ret = EVP_EncryptInit(&ctx, EVP_aes_128_cbc(), NULL, NULL); // ret ==1 here
ret = EVP_CIPHER_CTX_set_key_length(&ctx, 16); // ret ==1 here
ret = EVP_EncryptInit(&ctx, NULL, key, NULL); // ret ==1 here
///...
unsigned char buffer[128];
int outl;
int len=0;
ret = EVP_EncryptUpdate(&ctx, buffer, &outl, (unsigned char *)in, 16); //
ret ==1 here
len += outl; // == 16
ret = EVP_EncryptFinal(&ctx, buffer+len, &outl); // ret ==1 here
len += outl; // == 32
///...
Should len equals 16 at last ? But , why the result is 32? Can anyone tell me
the reason?
Regards,
Bian
___________________________________________________________
进入雅虎游戏嘉年华,赢取液晶显示器!
http://cn.mail.yahoo.com/promo/carnival07/
______________________________________________________________________
OpenSSL Project http://www.openssl.org
User Support Mailing List [email protected]
Automated List Manager [EMAIL PROTECTED]