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