OpenSSL

密碼學和 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 The OpenSSL Project Authors。保留所有權利。

根據 Apache 許可證 2.0 版(「許可證」)授權。您只能在遵守許可證的情況下使用此檔案。您可以在原始程式碼散佈中的 LICENSE 檔案或 https://www.openssl.org/source/license.html 中取得副本。