life_cycle-rand
名称
life_cycle-rand - RAND 算法生命周期
描述
所有随机数生成器 (RAND) 在其生命周期中都经历了一系列阶段
- 开始
-
此状态表示 RAND 在分配之前。它是任何生命周期转换的起始状态。
- 新建
-
此状态表示 RAND 在分配之后但无法生成任何输出。
- 实例化
-
此状态表示 RAND 在设置完毕并能够生成输出时。
- 未实例化
-
此状态表示 RAND 已关闭,不再能够生成输出。
- 释放
-
当 RAND 被释放时,将进入此状态。它是所有生命周期转换的终止状态。
状态转换图
RAND 的常见生命周期如下所示
正式状态转换
本节定义所有合法状态转换。这是规范列表。
函数调用 | 当前状态 | ||||
---|---|---|---|---|---|
开始 | 新建 | 实例化 | 未实例化 | 释放 | |
EVP_RAND_CTX_new | 新建 | ||||
EVP_RAND_instantiate | 实例化 | ||||
EVP_RAND_generate | 实例化 | ||||
EVP_RAND_uninstantiate | 未实例化 | ||||
EVP_RAND_CTX_free | 释放 | 释放 | 释放 | 释放 | |
EVP_RAND_CTX_get_params | 新建 | 实例化 | 未实例化 | ||
EVP_RAND_CTX_set_params | 新建 | 实例化 | 未实例化 | ||
EVP_RAND_CTX_gettable_params | 新建 | 实例化 | 未实例化 | ||
EVP_RAND_CTX_settable_params | 新建 | 实例化 | 未实例化 |
注释
在某个时刻,EVP 层将开始强制执行此处描述的转换。
参见
provider-rand(7), EVP_RAND(3).
历史
提供者 RAND 接口是在 OpenSSL 3.0 中引入的。
版权
版权所有 2021 OpenSSL 项目作者。保留所有权利。
根据 Apache 许可证 2.0(“许可证”)许可。除非遵守许可证,否则您不得使用此文件。您可以在源代码分发中的 LICENSE 文件或 https://www.openssl.org/source/license.html 中获取副本。