crypto\evp\evp_lib.c EVP_CIPHER_CTX_get_iv EVP_CIPHER_CTX_set_iv

int
EVP_CIPHER_CTX_get_iv(const EVP_CIPHER_CTX *ctx, unsigned char *iv, size_t len)
{     if (ctx == NULL || len != EVP_CIPHER_CTX_iv_length(ctx))         return 0;     if (len > EVP_MAX_IV_LENGTH)         renvoie 0 ; /* verification sanitaire; ne devrait pas arriver */     /*      * Ignorer entièrement la mémoire lorsque la longueur IV demandée est nulle,      * puisque le pointeur iv peut être NULL ou invalide.      */     if (len != 0) {         if (iv == NULL)             renvoie 0;         memcpy(iv, ctx->iv, len);     }     renvoie 1 ; }














int
EVP_CIPHER_CTX_set_iv(EVP_CIPHER_CTX *ctx, const unsigned char *iv, size_t len)
{     if (ctx == NULL || len != EVP_CIPHER_CTX_iv_length(ctx))         return 0;     if (len > EVP_MAX_IV_LENGTH)         renvoie 0 ; /* verification sanitaire; ne devrait pas arriver */     /*      * Ignorer entièrement la mémoire lorsque la longueur IV demandée est nulle,      * puisque le pointeur iv peut être NULL ou invalide.      */     if (len != 0) {         if (iv == NULL)             renvoie 0;         memcpy(ctx->iv, iv, len);     }     renvoie 1 ; }














Guess you like

Origin blog.csdn.net/durongze/article/details/133179937