OpenSSL/GMSSL EVP接口说明——2.4 摘要操作

2.4 摘要操作

  1. 三段式摘要
    1. EVP_DigestInit_ex或EVP_DigestInit
    2. EVP_DigestUpdate
    3. EVP_DigestFinal_ex或EVP_DigestFinal
  2. 一段式摘要
    1. EVP_Digest

EVP_DigestInit

:   int   EVP_DigestInit(EVP_MD_CTX *ctx, const EVP_MD *type);

功能描述:   摘要运算的初始化

    :   (1)EVP_MD_CTX_init(ctx);(2)EVP_DigestInit_ex(ctx, type, NULL)

参数说明:

       ctx         (in/out)  摘要封装数据

       type              (in)        采用的摘要算法

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

EVP_DigestInit_ex

:   int   EVP_DigestInit_ex(EVP_MD_CTX *ctx, const EVP_MD *type, ENGINE *impl);

功能描述:   摘要运算的初始化

    :   将调用摘要算法的初始化步骤

参数说明:

       ctx         (in/out)  摘要封装数据

       type              (in)        采用的摘要算法

       impl       (in)        引擎

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

EVP_DigestUpdate

:   int EVP_DigestUpdate(EVP_MD_CTX *ctx, const void *data, size_t count);

功能描述:   摘要运算的数据更新

    :   调用ctx->update(ctx,data,count),update是摘要运算的数据更新

参数说明:

       ctx         (in/out)  摘要封装数据

       data       (in)        数据

       count     (in)        数据长度

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

EVP_DigestFinal

:   int   EVP_DigestFinal(EVP_MD_CTX *ctx,unsigned char *md,unsigned int *s);

功能描述:   摘要运算的获取摘要

    :   (1)EVP_DigestFinal_ex(ctx, md, size);(2)EVP_MD_CTX_cleanup(ctx)

参数说明:

       ctx         (in/out)  摘要封装数据

       md         (out)      摘要信息

       s             (out)      摘要长度

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

EVP_DigestFinal_ex

:   int   EVP_DigestFinal_ex(EVP_MD_CTX *ctx,unsigned char *md,unsigned int *s);

功能描述:   摘要运算的获取摘要

    :   调用ctx->digest->final函数

参数说明:

       ctx         (in/out)  摘要封装数据

       md         (out)             摘要信息

       s             (out)      摘要长度

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

EVP_Digest

:   int   EVP_Digest(const void *data, size_t count, unsigned char *md, unsigned int *size, const EVP_MD *type, ENGINE *impl);

功能描述:   摘要运算一段式获取摘要

    :   调用ctx->digest->final函数

参数说明:

       data       (in)        待处理数据

       count     (in)        待处理数据长度

       md         (out)      摘要信息

       size        (out)      摘要长度

       type              (in)        摘要算法类型

       impl       (in)        引擎

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值