OpenSSL

密碼編譯和 SSL/TLS 工具包

openssl-rand

名稱

openssl-rand - 產生偽亂數位元組

語法

openssl rand [-help] [-out file] [-base64] [-hex] [-engine id] [-rand files] [-writerand file] [-provider name] [-provider-path path] [-propquery propq] num[K|M|G|T]

說明

此命令使用密碼編譯安全的偽亂數產生器 (CSPRNG) 產生 num 個亂數位元組。可以將字尾 [K|M|G|T] 附加到 num 值,以指示請求的值應分別縮放為 KiB/MiB/GiB/TiB 的倍數。請注意,字尾區分大小寫,且字尾代表二進位倍數 (K = 1024 位元組,M = 1024*1024 位元組,依此類推)。

字串 'max' 可以替換為 num 中的數字值,以請求 CSPRNG 每個實例可以產生的最大位元組數。目前,這限制為 2^61 位元組,根據 NIST SP 800-90C。

亂數位元組使用 RAND_bytes(3) 函數產生,該函數提供 256 位元的安全性等級,前提是它已成功從受信任的操作系統熵來源中自行播種。否則,命令將會失敗並出現非零錯誤碼。如需更多詳細資訊,請參閱 RAND_bytes(3)RAND(7)EVP_RAND(7)

選項

-help

列印使用訊息。

-out file

寫入 file,而不是標準輸出。

-base64

對輸出執行 base64 編碼。

-hex

將輸出顯示為十六進位字串。

-engine id

請參閱 openssl(1) 中的「引擎選項」。此選項已棄用。

-rand files, -writerand file

如需詳細資訊,請參閱 openssl(1) 中的「亂數狀態選項」

-provider name
-provider-path path
-propquery propq

請參閱 openssl(1) 中的「提供者選項」provider(7)property(7)

另請參閱

openssl(1)RAND_bytes(3)RAND(7)EVP_RAND(7)

歷史記錄

-engine 選項已在 OpenSSL 3.0 中棄用。

版權所有 2000-2021 The OpenSSL Project Authors。保留所有權利。

根據 Apache 授權條款 2.0 (「授權條款」) 授權。您不得使用此檔案,除非符合授權條款。您可以在原始程式碼散佈中的 LICENSE 檔案或 https://www.openssl.org/source/license.html 中取得副本。