开放SSL

密码学和 SSL/TLS 工具包

life_cycle-digest

名称

life_cycle-digest - 摘要算法生命周期

描述

所有消息摘要 (MD) 在其生命周期中经历多个阶段

开始

此状态表示 MD 在分配之前。它是任何生命周期转换的起始状态。

新建

此状态表示 MD 已分配后。

初始化

此状态表示 MD 已设置并能够处理输入。

更新

此状态表示 MD 已设置并能够处理附加输入或生成输出。

完成

此状态表示 MD 已生成输出。对于 XOF 摘要,此状态表示 MD 已生成单次输出。

压缩

对于 XOF 摘要,此状态表示 MD 已生成输出。它可以被多次调用以生成更多输出。每次调用的输出长度是可变的。

释放

释放 MD 时进入此状态。它是所有生命周期转换的终止状态。

状态转换图

MD 的通常生命周期如下图所示

正式状态转换

本节定义所有合法的状态转换。这是规范列表。

函数调用 当前状态
开始 新建 初始化 更新 完成 压缩 释放
EVP_MD_CTX_new 新建
EVP_DigestInit 初始化 初始化 初始化 初始化 初始化
EVP_DigestUpdate 更新 更新
EVP_DigestFinal 完成
EVP_DigestSqueeze 压缩 压缩
EVP_DigestFinalXOF 完成
EVP_MD_CTX_free 释放 释放 释放 释放 释放
EVP_MD_CTX_reset 新建 新建 新建 新建
EVP_MD_CTX_get_params 新建 初始化 更新
EVP_MD_CTX_set_params 新建 初始化 更新
EVP_MD_CTX_gettable_params 新建 初始化 更新
EVP_MD_CTX_settable_params 新建 初始化 更新
EVP_MD_CTX_copy_ex 新建 初始化 更新 压缩

注释

在某个时刻,EVP 层将开始强制执行本文档中描述的转换。

另请参阅

provider-digest(7), EVP_DigestInit(3)

版权所有 2021-2023 OpenSSL 项目作者。保留所有权利。

根据 Apache 许可证 2.0(“许可证”)授权。除非符合许可证,否则您不得使用此文件。您可以在源代码发行版中的 LICENSE 文件或 https://www.openssl.org/source/license.html 获取副本。