2016-04-03 6 views
0

bu kodu varC++ EVP_EncriptKaydı yeniden yazma yığını mı? Ben "kapalı yorumlayarak" EVP fonksiyonunu güncellemek zaman

..... 

const EVP_CIPHER * cipher = EVP_des_ecb(); 
uint8_t ot_byte,st_byte; 
EVP_CIPHER_CTX ctx; 
int trash; 
EVP_EncryptInit(&ctx,cipher, key, iv); 
cout << size - offset << endl; 
int i=0; 
for (; i < size - offset ;i++){ 
    check = read(input_fd,&ot_byte,1); 
    cout << (i < size - offset) << " " << i << endl; 
     EVP_EncryptUpdate(&ctx, &st_byte, &trash, &ot_byte, 1); 
     check = write(output_fd,&st_byte,1); 
} 
cout << (i < size - offset) << " " << i << endl; 
close(output_fd); 
close(output_fd); 

çıkış

702000 
1 0 
1 1 
1 2 
1 3 
1 4 
1 5 
1 6 
1 7 
0 5019693 

olduğunu döngü her 702.000 tekrarlamalar geçer. Hata nerede? EVP bir şekilde arabelleğinin arkasında gider ve yığın verisini bozar mı?

cevap

1

uint8_t türü küçük olacaktır, bu işlevler en az 8 bayt (

)
İlgili konular