Hash OpenSSL:EVP_DigestFinal_ex的输出大小是否可以大于摘要大小?

Hash OpenSSL:EVP_DigestFinal_ex的输出大小是否可以大于摘要大小?,hash,openssl,sha,digest,message-digest,Hash,Openssl,Sha,Digest,Message Digest,具有以下文件: EVP_DigestFinal_ex()从ctx检索摘要值并将其放入md。如果s参数不为空,则写入的数据字节数(即摘要的长度)将写入s处的整数,最多写入EVP_MAX_md_SIZE字节 签名: int EVP_DigestFinal_ex(EVP_MD_CTX *ctx, unsigned char *md, unsigned int *s); 是否存在摘要长度大于摘要输出大小但小于EVP_MAX_mdu size的情况。i、 e.对于SHA-1摘要,我从OpenSSL获得了

具有以下文件:

EVP_DigestFinal_ex()从ctx检索摘要值并将其放入md。如果s参数不为空,则写入的数据字节数(即摘要的长度)将写入s处的整数,最多写入EVP_MAX_md_SIZE字节

签名:

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

是否存在摘要长度大于摘要输出大小但小于EVP_MAX_mdu size的情况。i、 e.对于SHA-1摘要,我从OpenSSL获得了大于20字节的输出?

相关源代码:

md_size是该结构的第三个成员,因此它始终是SHA_DIGEST_LENGTH,即20

    OPENSSL_assert(ctx->digest->md_size <= EVP_MAX_MD_SIZE);
    ret = ctx->digest->final(ctx, md);
    if (size != NULL)
       *size = ctx->digest->md_size;
static const EVP_MD sha1_md = {
     NID_sha1,
     NID_sha1WithRSAEncryption,
     SHA_DIGEST_LENGTH