OpenSSL/GMSSL EVP接口说明——1.3 CIPHER_CTX操作

1.3 CIPHER_CTX操作

EVP_CIPHER_CTX_init

:   void EVP_CIPHER_CTX_init(EVP_CIPHER_CTX *ctx);

功能描述:   初始化EVP_CIPHER_CTX

    :   EVP_CIPHER_CTX数据全置零

参数说明:

       ctx         (in/out)  EVP_CIPHER_CTX

:   - 

EVP_CIPHER_CTX_cleanup

:   int EVP_CIPHER_CTX_cleanup(EVP_CIPHER_CTX *ctx);

功能描述:   反初始化EVP_CIPHER_CTX

    :   清除EVP_CIPHER_CTX内所有数据,并置零

参数说明:

       ctx         (in/out)  EVP_CIPHER_CTX

:   - 

EVP_CIPHER_CTX_new

:   EVP_CIPHER_CTX *EVP_CIPHER_CTX_new(void);

功能描述:   创建EVP_CIPHER_CTX

    :   malloc后调用EVP_CIPHER_CTX_init

参数说明:

       无

:   非NULL[创建的EVP_CIPHER_CTX],NULL[失败]

EVP_CIPHER_CTX_free

:   void EVP_CIPHER_CTX_free(EVP_CIPHER_CTX *ctx)

功能描述:   销毁EVP_CIPHER_CTX

    :   调用EVP_CIPHER_CTX_cleanup后free。

参数说明:

       ctx         (in/out)  EVP_CIPHER_CTX

:  

EVP_CIPHER_CTX_set_key_length

:   int EVP_CIPHER_CTX_set_key_length(EVP_CIPHER_CTX *x, int keylen);

功能描述:   设置算法密钥长度

    :   可能调用 EVP_CIPHER_CTX_ctrl( ) 函数

参数说明:

       x            (in/out)  对称算法封装数据

       keylen   (in)        密钥长度

:   1[成功],<=0[失败]

EVP_CIPHER_CTX_ctrl

:   int EVP_CIPHER_CTX_ctrl(EVP_CIPHER_CTX *c, int type, int arg, void *ptr);

功能描述:   设置控制参数

    :   -

参数说明:

       c            (in/out)  对称算法封装数据

       type              (in)        控制参数类型

       arg         (in)        控制参数(整形)

       ptr          (in)        控制参数(指针)

:   1[成功],<=0[失败]

EVP_CIPHER_CTX_set_padding

:   int EVP_CIPHER_CTX_set_padding(EVP_CIPHER_CTX *c, int pad);

功能描述:   设置是否进行填充

    :   参数pad为BOOL型

参数说明:

       c            (in/out)  对称算法封装数据

       pad        (in)        是否进行填充

:   1[成功],<=0[失败]

EVP_CIPHER_CTX_rand_key

:   int EVP_CIPHER_CTX_rand_key(EVP_CIPHER_CTX *c, unsigned char *key);

功能描述:   生成随机密钥

    :   -

参数说明:

       c            (in/out)  对称算法封装数据

       key        (out)      生成的随机密钥

:   1[成功],<=0[失败]

posted @ 2023-04-04 20:45  艾米的爸爸  阅读(3)  评论(0)    收藏  举报  来源