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                    openssl-users@openssl.org
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to