openssl-rand
名称
openssl-rand - 生成伪随机字节
概要
openssl rand [-help] [-out 文件] [-base64] [-hex] [-engine id] [-rand 文件] [-writerand 文件] [-provider 名称] [-provider-path 路径] [-propquery propq] num[K|M|G|T]
描述
此命令使用密码学安全的伪随机数生成器 (CSPRNG) 生成 num 个随机字节。可以在 num 值后面添加后缀 [K|M|G|T] 以表示请求的值应分别作为 KiB/MiB/GiB/TiB 的倍数进行缩放。请注意,后缀区分大小写,并且后缀表示二进制倍数(K = 1024 字节,M = 1024*1024 字节,等等)。
字符串 'max' 可以替换 num 中的数值,以请求 CSPRNG 每次实例化可以产生的最大字节数。目前,根据 NIST SP 800-90C,这限制为 2^61 个字节。
随机字节是使用 RAND_bytes(3) 函数生成的,该函数提供了 256 位的安全级别,前提是它能够从受信任的操作系统熵源成功地自行播种。否则,命令将以非零错误代码失败。有关更多详细信息,请参阅 RAND_bytes(3)、RAND(7) 和 EVP_RAND(7)。
选项
- -help
-
打印用法消息。
- -out 文件
-
写入 文件 而不是标准输出。
- -base64
-
对输出执行 base64 编码。
- -hex
-
将输出显示为十六进制字符串。
- -engine id
-
请参阅 openssl(1) 中的“引擎选项”。此选项已弃用。
- -rand 文件、-writerand 文件
-
有关详细信息,请参阅 openssl(1) 中的“随机状态选项”。
- -provider 名称
- -provider-path 路径
- -propquery propq
另请参阅
openssl(1)、RAND_bytes(3)、RAND(7)、EVP_RAND(7)
历史记录
-engine 选项在 OpenSSL 3.0 中已弃用。
版权
版权所有 2000-2021 OpenSSL 项目作者。保留所有权利。
根据 Apache 许可证 2.0 版(“许可证”)获得许可。除非符合许可证,否则您不得使用此文件。您可以在源代码分发中的 LICENSE 文件或 https://www.openssl.org/source/license.html 中获取一份副本。