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 获取副本。